Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

2024-09-29 11:05:22 40点赞 382收藏 17评论

大家好,这里是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的使用,那完全可以消除对极空间的顾虑~

🔻方案一:常用镜像

这些镜像都是通过极空间的网络下载的,无需额外直接就可以直接使用,因此后续更新也可以通过极空间内置服务进行更新,十分方便。

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

🔻方案二:镜像仓库

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

🔻方案三:docker proxy

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

二、系统部署

1、下载镜像

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

2、配置容器参数

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

3、配置远程访问

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

三、系统使用

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

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

Docker监测、更新、备份一步到位,多平台可用的容器、镜像管理神器!极空间部署「docker copilot」

总结

docker copilot作为极空间目前唯一可用的容器镜像监控和管理应用,为广大极空间用户提供了超便利的升级体验。

如果你更习惯使用笔者在文章开头提到的几款容器来管理镜像的话,相信这个需求也很快就能实现。

极空间的更新计划中曾提到Q3季度会上线SSH服务,据可靠消息了解到目前SSH功能已经在外测了,预计不久的将来就将正式推送!之后,我们就可以通过docker cli来部署那些比较常用的容器、镜像管理工具了~

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

展开 收起
17评论

  • 精彩
  • 最新
  • 啊我现在群晖用的watchtower自动更新docker很舒服,什么都不用管。双十一想换极空间,极空间不能用watchtower,这个能自动更新吗?不需要我每次手动进入docker copilot再点一键更新吧,大佬

    校验提示文案

    提交
    需要点进去升级的,不过极空间马上开放ssh,就可以部署watchtower了

    校验提示文案

    提交
    收起所有回复
  • 目前docker copilot不能提示docker有新版本更新了,就是提示全部写【已是最新】。实际上有新版本,无法检测到,作者在GitHub也未给出具体解决方案。功能还是能用,就是不提示,需要自己去看部署的docker是否有新版本,然后再去docker copilot点更新。。
    这个有解决方案么?

    校验提示文案

    提交
  • docker copilot好像失效了啊,不能手动一键更新

    校验提示文案

    提交
    你需要魔法,或者加速库,解决网络问题

    校验提示文案

    提交
    收起所有回复
  • 极空间才可以用吗?

    校验提示文案

    提交
    都可以的

    校验提示文案

    提交
    收起所有回复
  • 都用docker了,咋还能说唯一。

    校验提示文案

    提交
    极空间没开放sock映射

    校验提示文案

    提交
    收起所有回复
  • 部署后疯狂重启 不成功 提示未找到jwt或jwt已失效,重新获取jwt caller=utiles/base.go:53;GetNewJwt error: Post "去看看:9123/api/auth": dial tcp 127.0.0.1:9123: connect: connection refused caller=utiles/getImageList.go:17;panic获取镜像列表出错: Post "去看看:9123/api/auth": dial tcp 127.0.0.1:9123: connect: connection refused caller=zspace/dockercopilot.go:60
    github上作者有提到环境中要添加nas的ip,这一步似乎是导致错误的原因?

    校验提示文案

    提交
    爬墙

    校验提示文案

    提交
    收起所有回复
  • 什么时候docker能支持macvlan ipvlan呀,有些容器部署不了

    校验提示文案

    提交
    ssh进去都可以配置

    校验提示文案

    提交
    好吧, 怕ssh进去破坏保修了

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 有没有群晖教程

    校验提示文案

    提交
  • 过来学习一下呢

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
382
扫一下,分享更方便,购买更轻松