『Docker Compose』威联通Docker的正确打开方式
很多时候,我们NAS用户在使用Docker的时候,基本都是先打开NAS上面的SSH,然后通过远程连接工具(比如说PuTTY,Xshell等)再来操作,但是对于很多刚上手的小白而言,Docker部署的一些专业术语和命令看着就头疼,特别是对于我们想要在NAS上部署自己需要的一个服务,比如说搭建家庭影音,我们需要使用Docker部署多个容器(管理下载的qB,管理海报墙的jellyfin,管理刮削的TMM),按照以往我们需要通过Docker命令一个一个的拉取,还要兼顾容器间的挂载路径和参数,麻烦不说,搞不好最后还失败了。
那么有没有一种更高效快捷的Docker部署方案呢?当然是有的,那就是『Docker Compose』。
Docker Compose应该是目前成品NAS中威联通独有的功能,它是一个用来定义和运行多个复杂应用的Docker工具。简单来说,我们通过Docker Compose 的一个配置文件,就能轻松的部署与管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。
Docker Compose管理着如下三个内容:
工程:docker-compose运行的目录即为一个工程,在微服务场景下,我们往往都是使用git submodule的方式组建工程的,因此父项目就可以成为一个docker compose的工程;
服务:对应子项目,一个工程可以包含多个子项目;
容器:对应服务的实例,一个服务可以有多个实例;
其实说了这么多,对于小白而言肯定还是一头雾水,啥也不懂对吧?不过没关系,我们只需要知道,通过Docker Compose,我们只需要一个配置文件,就能让它快速的部署多个容器,比如说前面说的搭建家庭影音库,我们只需要一个配置文件,就能一次搞定qB,jellyfin,TMM三个容器的部署,并且还能让它们之间相互关联,不光大大提高Docker的部署效率,同时也提升了搭建家庭影音库的成功率。
也就是说,通过Docker Compose部署Docker容器,我们只需要做两件事:
1,编辑对应的配置文件
2,创建
而它的难点就是编辑配置文件,而Docker Compose配置文件其实就是通过『docker-compose.yml』的模板文件(YAML格式)来定义的。所以我今天就以威联通NAS为例,来为大家简单介绍一下Docker Compose的使用方法。(我也想详细的介绍,奈何我自己也是啥也不懂的刚入门小白~~)
初识威联通Docker Compose
今天的演示NAS为威联通的威联通TS-464C,是它家今年上市的4盘位旗舰NAS,处理器采用Intel 赛扬N5095,比上代J4125处理器性能提升30%左右,显卡性能提升至300%,最主要的是,不管是Docker还是虚拟机,这货都完美支持,非常适合我这样的折腾党。
🔺我们只要打开威联通的Docker套件应用『Container Station容器工作站』,点击“创建—--创建应用程序”
🔺就来到了威联通的Docker Compose配置页面,事实上威联通这里已经有现成的三个示例(配置文件)可以直接使用。
🔺比如说它这里有个WordPress示例,它其实是一个搭建个人博客的系统平台,但是它的架设条件依赖于 MySQL 数据库,通过这个现成的Docker Compose配置文件,我们直接点击“创建”,就能一键搞定WordPress的个人博客搭建了,并且在这个页面,你还可以根据自己的需求对配置文件进行修改。
🔺部署完成之后,我们就可以在容器这里看见一个“WordPress”的APP,点开之后,就能看见它下面是两个对应的Docker容器。
🔺并且我们后期还可以通过修改重新修改Docker Compose的配置。
Docker Compose配置文件简介
前面说过,Docker Compose配置文件是通过『docker-compose.yml』的模板文件(YAML格式)来定义的。所以为了更好的了解它,我们先来了解下Docker Compose配置文件中的常用的语法以及它的文件结构。
🔺我们还是以威联通自带的WordPress配置文件为大家说明:
version:dockers compose都是以“version: XX”来定义YAML 语法版本
image:指定为镜像名称或镜像ID,也就是dockers compose从互联网需要拉取的镜像
ports:端口映射设置,冒号前是NAS访问的实际端口,不可以和其它端口重复,冒号后是容器内端口。
volumes:设置卷挂载的路径,也就是容器的文件存放位置。冒号前面为本地路径,冒号后为容器路径,本地路径是NAS的真实地址,一般我们会根据需要自己通过NAS的文件管理提前新建。
restart:重启策略,根据实际需求即可。
environment:容器的环境变量,一般设置权限、时区、数据库等都是依靠环境变量来实现的。
depends_on:设置容器的优先启动,这个对于有些依赖服务很有必要,如果启动顺序发生问题,运行肯定会出错。
当然,还有一些是上面的配置文件没有出现的语法也比较常见:
command:覆盖容器启动后默认执行的命令
links:链接到其他服务容器
container_name:为容器指定一个名称,不一定是容器默认名称
extra_hosts:顾名思义,为指定容器添加hosts 文件,影视刮削不添加hosts 会刮削失败
volunes_from:挂载另一个服务或容器的所有数据卷
其实稍微熟练一点的NAS Docker玩家应该也能看出一些端倪了吧,对,没错,它其实和我们SSH的时候拉取的命令很多都是一样的,比如说ports其实就是-v,environment就是-e,ports就是-p。
当然,Docker Compose配置文件语法肯定不只是以上这些,我们作为普通玩家也不需要了解那么多,只需要知道一些常用的基础语法就可以了。
Docker Compose配置文件获取
OK,既然我们知道Docker Compose怎么使用了,我们就可以获取自己需要的Docker Compose配置文件了。
获取途径很简单,全球最大的镜像仓库『Docker Hub』就能满足我们。
Docker Hub官网:https://hub.docker.com/
🔺打开Docker Hub官网直接搜索我们需要的镜像并回车。比如我这里搜索下载神器 qbittorrent
🔺然后回搜索到很多 qbittorrent 的镜像,我们可以看每个镜像右边的星标数,也就是Stars的数量,数字越大表示这个镜像订阅的越多,也代表它越受欢迎。我就选取第二个吧,因为它的Stars数最多。
🔺打开之后在页面中就能看见该镜像的配置代码了。该镜像分别提供了docker-compose代码以及docker命令代码,大家可以仔细比对,其实左右两个代码可以相互转换的。
🔺比如说这里的docker-compose代码,其实我们只需要将volumes下面的路径(冒号前面的路径)改成自己NAS的真实路径,然后直接复制,粘贴到威联通的Docker Compose配置页面,点击“创建”按钮,搞定!
🔺不过并不是所有Docker Hub里面的镜像都会给出Docker Compose的配置,比如说我找到的国人优化版的qbittorrent 镜像,它只给出了Docker配置命令,那么我们就需要自己配置了,其实你只要掌握了Docker Compose配置的语法以及它的文件结构,基本上复制一个模板到电脑的记事本中,然后根据它的命令直接修改就可以了。
🔺自己配置好以后还可以粘贴带威联通的Docker Compose页面验证一下,基本是没有什么问题的。
Docker Compose部署实例
OK,下面我们就来实战一下吧!
先说单个Docker容器的创建。
🔺就以上步骤中我自己配置的那个国人版的qbittorrent容器,其实我们只需要在验证没问题的时候直接在上方输入应用程序名称,点击右下角的“创建”就可以了。
🔺然后回到Container Station主页,稍等一会就能看见创建好的qbittorrent容器了。
🔺点击qbittorrent容器旁边的链接图标,就能直接登录qbittorrent的WEB界面了。
然后我们再尝试搭建完整的家庭影音系统,前面说过,家庭影音系统需要三个容器,分别为管理下载的qB,管理海报墙的jellyfin,管理刮削的TMM。
因为我为了给你们演示前面已经创建了qbittorrent的容器,我这里还是希望用到那个容器,所以我首先要将前面创建的qbittorrent删掉才可以,因为我们不可能在同一容器内创建两个完全一样的镜像对吧。
🔺我个人是将所需要的三个Docker Compose的配置,也就是yaml文件全部复制粘贴到记事本中根据自己的需求编辑,有的找不到yaml配置咋办?和我前面说的一样,拉一个模板过来自己配置啊~
🔺配置好以后粘贴到威联通的Docker Compose配置页面,先验证一遍,没啥问题给应用程序起个名字,直接“创建”就可以了
🔺3个容器一次搞定!就是这么简单!
总结
总之,我个人认为,威联通的Docker Compose对于再NAS上部署Docker来说,应该是最好的方案了,当然,对于小白来说,还需要一定的学习成本,个人觉得自己准备几个yaml配置模板,基本上部署起来非常的快,用起来真的是爽歪歪~
我为啥不分享我的配置?因为授之以鱼不如授之以渔,我分享过来你们不一定能用,平且威联通的Docker Compose对配置要求非常严格,那怕是一个空格也会创建失败,所以你们只要掌握了方法,以后还不是随便玩转NAS中的Docker!
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家,咱们下期见~




















灵KOYB
校验提示文案
xshhome
校验提示文案
清风静入夜
校验提示文案
長瀬湊
校验提示文案
上帝也忙着数钱
校验提示文案
正能量123
校验提示文案
幸福的沙漏
校验提示文案
dylanleung
校验提示文案
弗老大
校验提示文案
啥都没有
校验提示文案
tang251
校验提示文案
SuperMax_Z
校验提示文案
joeyzhou1980
校验提示文案
Enjoy_Life
校验提示文案
芒果好香
校验提示文案
风随天驿
校验提示文案
幸福的沙漏
校验提示文案
风随天驿
校验提示文案
正能量123
校验提示文案
上帝也忙着数钱
校验提示文案
芒果好香
校验提示文案
Enjoy_Life
校验提示文案
joeyzhou1980
校验提示文案
dylanleung
校验提示文案
SuperMax_Z
校验提示文案
長瀬湊
校验提示文案
tang251
校验提示文案
啥都没有
校验提示文案
弗老大
校验提示文案
灵KOYB
校验提示文案
清风静入夜
校验提示文案
xshhome
校验提示文案