Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)

2024-04-25 15:10:10 39点赞 452收藏 25评论

💡写在前面

众所周知,Docker容器相较于群晖自带的套件,优势在于更轻松的迁移数据、更轻松的拓展、更轻松的数据备份等。但是Docker容器的更新是相对麻烦的,在群晖原生的系统里,虽然DSM7.2已经支持compose,更新容器方便了很多,但是目前仍然做不到一键更新。

DockerCopilot是onlyLTY (唯依) 大佬开发的一个主打操作简单的Docker管理工具。可以直观的看到容器使用的镜像是否有更新,对于有更新的容器可以实现一键更新。对于不使用的镜像还可以一键清理。更有备份容器创建参数,万一不幸遇到盘挂了或者更换设备,可以方便的一键复活。(项目地址:https://github.com/onlyLTY/dockerCopilot

DockerCopilot目前已经实现:

  1. 一键更新容器

  2. 指定镜像和tag更新

  3. 启动、停止、重启容器

  4. 重命名容器

  5. 删除无TAG镜像

  6. 删除未使用镜像

  7. 更新进度查看

  8. 备份容器设置

  9. 恢复容器设置

当然,除了DockerCopilot外还有一些类似的优秀项目,也可以实现Docker容器的管理以及更新,包括自动更新容器的项目也是有的,有兴趣的小伙伴也可自行探索。

话不多说,进入正题。


🍉我的软硬件环境:

  • 群晖920+(系统版本DSM7.2)

  • 安装环境:docker

  • 勤劳的双手和聪明的大脑


🚥第一步:DockerCopilot的部署

  1. 建议使用compose进行构建,便于后期维护。本文就只列举这一种方法,其他方法可以看其他类似教程。

  2. 新建一个文件夹,用于存放数据,文件夹位置随意。

  3. 进入群晖Container Manager(即docker),新增项目并输入compose代码(不熟悉这一步的可以看我之前教程里的相关内容:

    输入compose代码:

version: '3' services: dockerCopilot: image: 0nlylty/dockercopilot:UGREEN #官方镜像地址 container_name: dockerCopilot #设置自定义的项目名称 restart: always environment: - secretKey=a6969696969 #自己设置密码,需要大于八位且非纯数字 - DOCKER_HOST=unix:///var/run/docker.sock - hubURL=https://docker.nju.edu.cn - DelOldContainer=true #是否删除旧镜像,填true或false ports: - "12712:12712" volumes: - /var/run/docker.sock:/var/run/docker.sock - /volume1/docker/dockerCopilot:/data #自己设置路径。目前存储备份文件,未来可能存储配置文件 privileged: true

⚠️注意事项:

  • 路径映射中的/volume1/docker/dockerCopilot设置为你前面新建的文件夹地址。

  • 环境变量中的DelOldContainer参数为是否删除旧镜像,根据自己的需求填写。

  • 如果你有外网访问需求,建议设置高强度的密码。

  • 另附docker run代码供参考(按照自己的目录修改命令,两个中文处都需要修改):

docker run -d --privileged -p 12712:12712 -e secretKey=自己设置密码,需要大于八位且非纯数字 -e DOCKER_HOST=unix:///var/run/docker.sock -e hubURL=https://docker.nju.edu.cn -v /var/run/docker.sock:/var/run/docker.sock -v 自己设置路径。目前存储备份文件,未来可能存储配置文件:/data --restart=always --name dockerCopilot 0nlylty/dockercopilot:UGREEN

  1. 点击下一步,后面设置均为默认即可,最后点击完成。

  2. 耐心等待项目自动构建完成,如果你的网络连通性不好,该过程可能会有点慢。

  3. 项目提示构建完成后,你就可以在项目和容器内看到它了。


🚥第二步:DockerCopilot的使用

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • 注意核对网址和端口号,尤其是http和https不要选错,输入你前面设置的密码,并点击OK。如果一切顺利此时你可以登录成功,如果点击OK没反应,说明有哪里没填对,请仔细确认。登录后界面如下:

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • 点击你要操作的容器,右侧会有弹出栏,可以进行重命名、更新等操作,在其中进行操作即可。

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • 如果只需要更新,点击更新按钮后就会自动更新完成。并可以在“进度 ”界面查看更新进度。

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • 可以在“镜像”页面进行镜像的管理,包括删除和一键清理等。

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • 可以在“备份”页面进行Docker容器的备份与恢复。备份的数据会保存在你前面设置的文件夹内。

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • DockerCopilot的更新需要通过左下角页面的更新按钮来更新自身。如果有更新的时候就会显示更新程序按钮,如果没有更新的时候就不会显示。

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)
  • 如果你喜欢该项目,也欢迎支持一下onlyLTY (唯依)大佬。

Docker容器更新太麻烦?快来用DockerCopilot一键更新吧!(折腾NAS系列三)

好的,到这里整个配置已经全部完成,你可以愉快地使用它了。

希望我的教程能够帮助到你,如果你感觉有用的话,三连请走一波。

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

展开 收起
25评论

  • 精彩
  • 最新
  • 请问原先指定版本号建立的docker能否更新为least版本的?

    校验提示文案

    提交
    我还没试过,不过原理上是可以。

    校验提示文案

    提交
    收起所有回复
  • 7.2的container manager不是自带一键更新了吗

    校验提示文案

    提交
    不带哇

    校验提示文案

    提交
    有这个功能啊,看到可更新点一下就会自动下载更新重启啦

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • Dockger部署时显示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock。群晖7.11,请指教一下。

    校验提示文案

    提交
    var前面应该是一个/,你这是不是多了

    校验提示文案

    提交
    试过改为一个也不行。我只安装了套件里面的docker,还需要安装其他的才能使用这个dockge嘛?我运行systemctl status docker:
    ● docker.service
    Loaded: not-found (Reason: No such file or directory)
    Active: inactive (dead)
    这是什么情况?谢谢

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 刚更新好容器后,会出现又有新版本更新,这是什么情况

    校验提示文案

    提交
    提示有更新的这个容器是用compose创建的吗,如果是的话看看是否没有指定版本标签,如果不是那我也不知道啥情况。

    校验提示文案

    提交
    收起所有回复
  • 现在docker屏蔽了,怎么办?

    校验提示文案

    提交
    张大妈就有很多解决的教程啊,搜一下

    校验提示文案

    提交
    收起所有回复
  • 在任务计划里面设置一个更新任务不就行了。一条命令的事情。运行docker run --rm --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once

    校验提示文案

    提交
  • 没明白 docker连这点功能都没吗

    校验提示文案

    提交
  • 提醒一下,更新前一定要备份设置,更新是真的方便,但是有些真的会丢失配置。

    校验提示文案

    提交
  • 马克

    校验提示文案

    提交
  • 不能自动拉镜像的所谓自动都是耍流氓 [皱眉]

    校验提示文案

    提交
    是一键,不是自动。 [狂汗]

    校验提示文案

    提交
    我想拉取都不行,提示证书过期,请问大佬们怎么解决啊,多谢了。

    校验提示文案

    提交
    收起所有回复
  • 好东西,用上了,多谢分享。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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