『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,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家,咱们下期见~




















校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案