收起左侧

关于飞牛docker使用的科普

11
回复
1230
查看
[ 复制链接 ]

34

主题

2323

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-3-12 15:42:37 显示全部楼层 阅读模式

<br /> <br />

<iframe src="https://player.bilibili.com/player.html?isOutside=true&aid=114150734824912&bvid=BV1npQxYyEho&cid=28834270035&p=1&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>

最近发现有好多小伙伴在部署docker的时候,遇到了各种各样的困难,虽然有人出过了docker科普方面的教程,但是我还是想从我的角度以及最近在直播中和回答QQ群和微信群小伙伴的问题中获得的灵感来给大家做一个飞牛docker的使用教程。

一、什么是 Docker?

Docker 是一种容器化技术,允许开发者将应用及其依赖打包成轻量级容器,实现跨平台快速部署。飞牛私有云(FNOS),原生支持 Docker 技术,用户可通过 FNOS 轻松管理容器化应用,实现高效资源利用与隔离。说的简单一点,就是理论上所有的linux应用程序都可以打包成docker容器来运行,从而实现用户不用部署专用的运行环境以及简单的部署就能够运行。


二、我们来认识一下飞牛Docker。

1.概览页

image.png

首先我们认识一下概览页,概览页主要是Dokcer容器运行是的状态监控,还有Docker的存储位置设置,以及Docker服务的开启和关闭。图中红色框中就是存储位置,点击后面的铅笔图标,可以更换存储位置(注意:如果你已经部署了容器,那么更改了存储位置已存在的容器镜像和容器不会被迁移到目标位置,所以会是一个没有容器运行的状态。)

2.容器页

image.png

容器页主要显示所有已建立容器的状态数据,可以通过点击容器标签进入容器详情页。

image.png

图中序号的按钮功能:1.容器运行与关闭按钮 2.容器重启按钮 3.容器终端按钮 4.容器运行日志按钮

关于容器终端需要一些命令,由于是科普的教程就不详细介绍了,大家了解就好。

我们主要介绍一下容器设置标签里的功能与设置。

image.png

image.png

基本设置主要设置容器使用的资源限制,最下面的是开机自启开关。由于容器正在运行所以这里是灰色不可选的状态,如果想要修改要先停止容器运行。

image.png

端口设置主要设置的是容器端口的映射,这里我们讲的是bridge网络状态(也就是桥接,容器和宿主机通过网桥连接)下的设置,因为host状态下不需要做端口映射,具体的我们会在网络页里讲到。

前面的端口是宿主机端口,就是容器内部端口映射到宿主机上所用到的端口,这个端口可以随便改动只要不跟宿主机上其他的应用端口冲突(冲突)就可以。

后面的是容器内部端口,一般这个不需要改,如果你修改了可能造成容器不能访问,这里也是很多小伙伴做端口映射或者修改的时候经常遇到的问题,比如有的小伙伴习惯性的把前后端口改成一样的,这就导致了容器内部端口无法访问。这里我们谨记一点就可以了,后面的容器内部端口不要改就可以了。

image.png

存储位置主要是把容器内的路径映射到宿主机达到数据的持久化,说人话就是把容器内部的配置文件和运行数据写到宿主机的指定目录,或者是容器能够读写宿主机提供的数据。如果你不做存储路径的映射,容器的配置和运行数据只能存在容器中,如果容器重启了数据会被清空。这里我们介绍一下图中的容器映射配置,第一条是把容器运行的配置文件映射到宿主机指定的目录,第二条是把宿主机的指定的数据目录映射给容器以达到容器能够调用外部数据的目的。

image.png

环境变量主要是一些容器运行需要的变量,一般容器镜像内已经定义好了基本不需要修改,如果你需要指定某些运行变量也可以自己添加修改,格式一般容器开发者会有相关说明。

image.png

功能主要是容器要用到的一些宿主机上的功能,一般容器镜像会默认指定,一般不需要修改,如果一些容器要求特殊权限,可以选择图中红框中的使用高权限执行容器术语叫做特权模式,特权模式非必要不要选择,由于容器使用的权限过高容器内运行的程序会影响宿主机的运行,容易污染系统内核造成死机。

image.png

网络主要指定了容器运行时使用的网络模式,none就是无网络,host是使用主机网络,就是容器和主机共用网络,这里要注意容器端口不能和主机运行的服务端口冲突,如果冲突就要要修改端口,有的容器可以修改内部端口有的不能,那就要看宿主机内部对应端口的应用能不能更改端口了。bridge-nas是我自己自建的网络和后面的bridge基本上功能是一致的。就是容器通过网桥连接宿主机,前面端口中我们讲过。

image.png

命令就是容器启动的时候要执行的命令可以添加到这里,一般也不需要设置。

3.Compose页

image.png

Compose页主要是管理容器的创建与运行参数的。这里我们会着重讲一下,因为我们平常部署容器都是通过这里,相对于命令行的方式,用Compose更直观更易用,不用每次都要SSH下执行,并且迁移容器更方便。这里我们从新增项目开始讲起:

image.png

上传docker-compose.yml是在你已经拥有已经编辑好的配置文件上传即可,这里我用创建docker-compose.yml方式来讲解一下过程和参数的说明。

image.png

来到这个页面,下面的代码框应该是空白的,你可以把在网上找到的教程里的compose代码直接粘贴到这里,然后修改好必要参数,点击确定就可以了。下面我们详细介绍一下compose文件的结构以及参数:

image.png

图中绿色的部分除了xiaomusic:这个字段都是固定的部分不能修改。蓝色部分是可修改的部分。

这里我们讲一下路径,一般分为绝对路径和相对路径:

绝对路径就是在飞牛系统中的真实路径或者原始路径,绝对路径可以在文件管理里右键点击你想要获得绝对路径的文件或者文件夹点击详细信息,然后点击复制原始路径得到。

相对路径就是相对于配置文件所在路径的路径,比如教程中我们用到的例子,由于我的compose配置文件存在/vol1/1000/docker/xiaomusic这个路径下,所以./conf这个路径的绝对路径是/vol1/1000/docker/xiaomusic/conf,就是说所有你需要在/vol1/1000/docker/xiaomusic下映射的路径都可以用./来代替。

这里还要说一点compose中定义的路径格式:./conf:/app/conf冒号前面是宿主路径可以随意修改,冒号后面是容器内路径,一般不能修改。

有的小伙伴会问,我在网上搜索的教程只有命令没有compose怎么办?我这里推荐一个很简单的方法,把你得到的命令交给deepseek或者豆包之类的ai工具让工具把命令转换成compose就可以了。

4.本地镜像页

image.png

本地镜像页就是管理已经下载的镜像页面,可以添加,更新和删除镜像,这里就不详说了。

5.镜像仓库页

image.png

这里就是我们手动下载镜像的地方,搜索框是搜索我们要找的镜像,仓库设置可以设置自定义的加速镜像的仓库地址。

6.网络页

image.png

这里就是管理现有网络的页面,前面关于各种网络的区别已经说过了就不在赘述了。


由于是新手向的教程这里还有一些相关的Docker知识没有讲到,但是日常使用应该够用了,如果需要高阶的Docker教程大家也可以在评论区回帖提出,如果教程内有什么错漏还请在评论区指正。

收藏
送赞 6
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

2

回帖

0

牛值

江湖小虾

2025-3-12 22:33:41 显示全部楼层
非常好的科普文

3

主题

100

回帖

0

牛值

初出茅庐

2025-3-13 07:04:10 显示全部楼层
支持支持,非新手路过也学习学习

1

主题

14

回帖

0

牛值

江湖小虾

2025-3-14 10:40:19 显示全部楼层
老师我新安装DOCKER的话  直接在镜像仓库搜索安装是不是就可以了?COMPESE的话不是**修改,感觉还是DOCKER直接安装,图形化操作比较方便点。不知道我这么理解对不
你说的直接安装是一次性的,以后迁移修改参数什么的都要重新来过,特别是迁移。  详情 回复
2025-3-14 12:46

34

主题

2323

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-3-14 12:46:55 楼主 显示全部楼层
你说的直接安装是一次性的,以后迁移修改参数什么的都要重新来过,特别是迁移。

0

主题

7

回帖

0

牛值

江湖小虾

2025-3-15 08:20:33 显示全部楼层
感谢大佬的科普

0

主题

7

回帖

0

牛值

江湖小虾

2025-3-15 08:23:02 显示全部楼层
version: '3.1'
services:
  lx-music-sync-server:
    restart: always
    image: lyswhut/lx-music-sync-server:v2.1.2   #自定义镜像名和版本号
    container_name: lx-music-sync-server
    volumes:
      - '/vol4/1000/docker/LX_music/data:/server/data' #挂载位置
    ports:
      - 9527:9527  #自定义端口号
    environment:
      SERVER_NAME: 'lx music Sync Server' #容器名称
      TZ: 'Asia/Shanghai'
      NODE_ENV: 'production'
      LOG_PATH: '/server/data/logs'
      BIND_IP: '0.0.0.0'
      PORT: 9527
      MAX_SNAPSHOT_NUM: 10
      LX_USER_one: '123456789' #同步时的登录密码,多用户下行输入LX_USER_two: '123456789'
      LIST_ADD_MUSIC_LOCATION_TYPE: 'bottom'

大佬我这个安装完后启动提示Forbidden是什么原因
你这个是什么项目有项目的说明吗?  详情 回复
昨天 02:16

1

主题

8

回帖

0

牛值

江湖小虾

2025-3-15 08:25:15 显示全部楼层
请问自己安装的qb容器,在飞牛APP里打开登陆界面,但是却无法登陆进去,一直密码错误,用浏览器登陆nas,打开qb就能登进去,这是什么原因?官方bug?

2

主题

8

回帖

0

牛值

江湖小虾

2025-3-15 15:22:24 显示全部楼层
端口这个坑了我一天,后来才试出来。
现在有个BUG,docker应用装完以后,应用是自启动的,可以正常访问,桌面上也有图标,
但是这时候点一下图标,跳转到应用后,图标就不见了,系统应用里也是显示未启用。
但是Docker里面容器还是正常运行的,而且通过浏览器输入地址和端口也是可以正常访问,这是什么情况?
N100+16G的主机,应该不是硬件问题。

0

主题

1

回帖

0

牛值

江湖小虾

/var/run/docker.sock:/var/run/docker.sock:ro 获取宿主机的docker管理权 请问我看有脚本有上述的储存映射配置,这个在飞牛里面如何修改呢

34

主题

2323

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

前天 19:11 楼主 显示全部楼层
用COMPOSE来部署DOCKER就可以了,或者你命令行部署DOCKER,其他方式会提示你没有权限。

34

主题

2323

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

昨天 02:16 楼主 显示全部楼层
wangli 发表于 2025-3-15 08:23
version: '3.1'
services:
  lx-music-sync-server:

你这个是什么项目有项目的说明吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则