『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

游戏哈哈 未命名 2.7K+

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

前言

大家好,这里是可爱的Cherry

最近发的文章,Cherry是越来越懒了,丢了一个compose.yml就不管了,基本在介绍项目使用上了,没想到还是有很多朋友没有接触过,或者对docker-compose使用不熟悉。

因此本期,Cherry在上一篇玩转NAS之docker的基础上,重点讲一下docker-compose如何安装、使用,并且介绍一下非SSH使用docker-compose的一些方法。

Cherry不喜欢用套件,为什么?因为一是有洁癖,套件删除有没有遗留文件不清楚,二是不放心,套件属于二次封装,肯定不如直接原版用的放心。

compose介绍

一、什么是docker compose

docker compose是docker的多容器管理应用程序,用于定义、管理、运维多个docker容器的工具。

最简单的理解,就是docker(后面特指docker run指令)管理一个容器,compose管理多个容器。

docker run、docker compose、container之间的管理。不仅限于容器本身,还包括卷、网络等所有docker的一切。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

二、为什么建议使用docker compose

docker-compose的优势大概总结有三点。

三、docker compose的构成和使用

核心文件

docker compose的核心是yml文件一般常用的是docker-compose.yml,或者compose.yml。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

核心指令(所有指令,都必须在docker-compose.yml文件所在的目录下执行)

四、如何安装docker compose

目前,成品NAS除群晖7.X系、威联通、铁威马外,其它NAS都还没有内置docker-compose,因此需要我们手动安全。

安装方法,首先通过finalshell等工具登录NAS,然后一次输入以下指令

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

compose可视化管理

除了在SSH页面进行docker compose操作外,最重要的是docker-compose的可视化操作,先介绍2个第三方的compose可视化项目。

一、dockge

dockge是一款专门针对docker compose的可视化应用项目,由uptime kuma作者开发。该项目通过一个界面,实现了compose类目的整合。

通过可视化编辑yml文件,可以轻松管理和运维compose项目。

所有dockge管理的compose项目,都必须将docker-compose.yml文件放到环境变量DOCKGE_STACKS_DIR所设置的目录下。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

dockge管理的compose路径格式如下,可以把所有项目纳入dockge管理

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

二、portianer

老牌dockerUI项目,放在dockge后面的原·因是整合效果和运维内容不如dockge那么多,不支持直接更新镜像文件。

所有portianer管理的compose项目,都必须使用portainer的界面上进行新建。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

三、群晖7.2——Container Manager

群晖作为头牌NAS系统,系统成熟度无疑是最高的,从7.2版本更新docker套件并支持compose项目管理依赖,将docker使用又纳入了一个新的高度。虽然目前群晖出了bee系列这种垃圾硬件卖系统的东西,但是传统的DS系列依旧好评如潮。

例如最新的双盘位DS224+,虽然采用传统的J4125,比不上目前的N100等cpu,但是在日常使用中已经足够了,要知道DS920+都战了4年了依旧是推荐之首。

使用cotainer manager管理compose项目

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

四、威联通——Container Station

威联通方面,最新的当属TS-466C,4盘位最新NAS,采用N6005处理器,在性能上单核和多核分别较J4125提升58%和52%左右。

和群晖的差异可能更多的还是在操作系统上,传统的转圈和卡顿,不过这个价格还说啥呢,够香了就是。

如果对威联通操作系统有顾虑的,可以尝试黑一个玩玩,再决定。

威联通使用container station管理compose项目

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

五、UNRAID——Compose

在应用商城,搜索docker compose,安装图里的插件即可。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

安装以后,在docker里就有docker compose可视化页面了

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

compose示例

docker-compose.yml的语法,其实和docker run十分相似,简化了link的依赖关系,将四大元素分层级进行定义,如最主要的卷、网络、端口、环境变量其实是不变的,就是从单数增加到了复数。

一、yal文件书写要求

这里给大家讲解一下常用的docker-compose.yml文件的格式和规范。yml文件严格遵守缩进符,层级错误会导致无法部署,因此使用空格不要使用tab。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

二、代码释义

三、如何修改yml文件

对于部署一个docker compose项目来说,修改yml文件是最核心的工作。一般来说官方都会提供一个比较完整的yml文件,我们需要修改的仅仅是涉及到本地化部署的一些内容,那就是以下4个。

端口,左侧是宿主机的端口,可以自定义;右侧是容器端口,不能修改。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

存储(绑定),左侧是绑定模式的宿主机路径,可以自定义;右侧是容器路径,不能修改。比如我要改到/volume1/abc下,那就是- /volume1/abc:/db_a

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

存储(卷),左侧是卷模式下的卷名称,可自定义,;右侧是容器路径,不能修改。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

环境变量,这个根据每个项目的不同进行调整即可。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

现存docker,更改为compose

经过群友介绍,有一个项目可以将本地现有的docker全部导出为compose文件,效果一等一的好。

因为时间有限,Cherry还没体验过这个项目,因此明后天体验完以后,会把该项目完整的使用方法梳理出来。

『和Cherry玩转NAS』 篇四:还在用套件?docker高级教学,一文学会compose使用,更有多平台可视化管理工具

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

标签: 名称 目的

抱歉,评论功能暂时关闭!