Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」
大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~
前言
不知道爱折腾小伙伴们,有没有版本焦虑?反正cherry有深深的强迫症和版本焦虑,总是喜欢把NAS版本、镜像版本升级到最新的,折腾完以后的心情,别提多美妙了!
一般来说,我们会使用watchtower、diun、what up docker等项目来监控和更新容器镜像的版本,但是这些容器部署需要一个核心文件,那就是docker.sock,比较可惜的是极空间目前还没有开放这个系统文件的映射方法。
不过,虽然无法在极空间内没办法映射docker.sock文件,并不意味着极空间用户没办法对镜像进行监控和升级!
为了防止大家不知道,今天cherry再把极空间论坛中很热门的一款项目「docker copilot」做个介绍,该项目作者为@0nlylty,利用极空间内置的api实现对容器镜像的管理,通过这个项目,我们可以简单明了的看到极空间内目前各个容器的版本、镜像版本,以及最新的镜像版本,并支持一键升级。
一、对docker访问进行加速
目前大家在折腾docker项目时,遇到最大的问题就是当前的网络环境不友好,无法直接访问镜像库。
所以在部署docker copilot之前,我们必须先解决NAS访问docker的网络问题,否则docker copilot无法完成无米之炊,即无法帮助我们快速检测容器镜像版本,也没有办法实现镜像更新。
好在极空间在docker访问上,给出了足够多的解决方案,如果你最近在选购NAS产品,又担心docker的使用,那完全可以消除对极空间的顾虑~
🔻方案一:常用镜像
这些镜像都是通过极空间的网络下载的,无需额外直接就可以直接使用,因此后续更新也可以通过极空间内置服务进行更新,十分方便。

🔻方案二:镜像仓库
在【镜像】-【仓库】-【设置】里,我们可以把网上找到的第三方镜像源填入,比较知名的是1panel、daocloud等。

后续我们可以通过这些镜像库下载容器镜像,而且这些镜像都很好辨认,有镜像前缀以及镜像来源。当我们使用这些镜像源之后,docker copilot的检测、更新也会从这些镜像源里获取。

🔻方案三:docker proxy
如果我们自己有一些优化网络的方法,那么也可以直接极空间新更新的docker proxy功能,在代理里填入猫咪的服务端口,并保存重启引擎。这样docker copilot检索容器镜像的时候,也会通过proxy来走,更加全面。

二、系统部署
1、下载镜像
无论之前选择哪种方法,我们现在都已经可以在极空间内实现docker访问和下载了,因此我们搜索镜像0nlylty/dockercopilot:ZSPACE-DEV下载。

2、配置容器参数
等镜像下载完成以后,我们来到【镜像】-【本地镜像】页面,选择docker copilot后点击添加到容器,或者直接双击镜像开始配置容器。

我们把容器名稍微改的简洁一点,然后把【启动性能限制】关掉,因为极空间的NAS性能足够,不需要节约这一点资源限制。

第一步:【文件夹路径】中,我们只需要装载容器内的/data目录就行了,文件/文件夹可以自由选择,我这里选择的是我docker的集中管理地址,个人空间/docker/copilot。

第二步:【网络】里,点击更换按钮,我们需要把默认的bridge网络更改为host网络模式,这样copilot才能获取到一些端口信息。

第三步:【环境】中,我们需要填入极空间的账号(一般就是管理员的手机号),以及一个自定义的密钥(后续登录系统使用)。

3、配置远程访问
容器启动完成以后,我们打开远程访问应用,新建一个远程连接,IP为127.0.0.1或者NAS的ip,端口填写12712即可。

三、系统使用
通过极空间的远程访问功能打开docker copilot应用,在登录的时候输入我们设置的secretKey。

在【容器】页面,系统会通过注册表对当前已生成的容器版本进行检测,这个检测并不是实时的,而是在系统内置的一定时间内触发一次,所以我们刚部署完成如果没有发现有容器更新也很正常,不需要在意。

我们可以通过勾选的方式对容器进行批量更新,也可以点击单个容器,在弹出的容器管理框内进行单独的控制。

在我们对容器进行更新以后,可以通过左侧的【进度】标签页,查看所有容器更新的进度,在进度条中会展示拉取新镜像、删除容器、启动容器等阶段。需要注意的是,这里只会暂时本次运行后的日志,如果容器重启,则日志不再保留。

点击【镜像】标签页,可以看到容器都被正确更新了,旧容器系统不会自动删除,而是会保留none标签。

对应极空间的本地镜像,则是这些sha256编码的容器,我们可以在一一对应以后删除不需要的旧镜像。

除了对容器、镜像进行管理外,docker copilot还支持容器备份、恢复。

通过极空间打开我们映射好的容器路径,可以看到备份的文件是docker的json文件,里面保存了容器的名称、配置、环境变量、网络等等所有信息。

总结
docker copilot作为极空间目前唯一可用的容器镜像监控和管理应用,为广大极空间用户提供了超便利的升级体验。
如果你更习惯使用笔者在文章开头提到的几款容器来管理镜像的话,相信这个需求也很快就能实现。
极空间的更新计划中曾提到Q3季度会上线SSH服务,据可靠消息了解到目前SSH功能已经在外测了,预计不久的将来就将正式推送!之后,我们就可以通过docker cli来部署那些比较常用的容器、镜像管理工具了~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

伴君笑
校验提示文案
一团胖兔
这个有解决方案么?
校验提示文案
爱酱的粉
校验提示文案
FuSoo
校验提示文案
诺斯费拉图
校验提示文案
GP黑白熊
github上作者有提到环境中要添加nas的ip,这一步似乎是导致错误的原因?
校验提示文案
月映碧落苍穹
校验提示文案
听钢琴在哭泣
校验提示文案
蓝胖纸er
校验提示文案
月映碧落苍穹
校验提示文案
GP黑白熊
github上作者有提到环境中要添加nas的ip,这一步似乎是导致错误的原因?
校验提示文案
一团胖兔
这个有解决方案么?
校验提示文案
伴君笑
校验提示文案
蓝胖纸er
校验提示文案
诺斯费拉图
校验提示文案
爱酱的粉
校验提示文案
听钢琴在哭泣
校验提示文案
FuSoo
校验提示文案