手动升级太麻烦?群晖Docker容器自动更新方案

前言

这几年群晖使用下来部署了不少Docker容器,最终留下来的有15个,这些容器和群晖套件比起来最不方便的一点就是更新,以往需要保存容器配置,删除容器,重新下载镜像再部署容器。现在随着群晖的Docker管理器更新为Container Manager之后实际上可以在映像栏目进行手动更新,着实方便了不少。

但是为了方便想要自动更新以及使用老版本群晖的朋友,还是写了一篇教程,希望对大家有所帮助。

通过 watchtower 自动更新所有运行中的 Docker 容器

第一步、复制以下代码

docker run --rm --name watchtower
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower --cleanup --run-once

第二步、使用任务计划进行部署

  1. 打开 控制面板 -> 任务计划
  2. 新增 -> 计划的任务 -> 用户自定义的脚本
  3. 常规选项卡:
    1. 设定任务名称为:update all docker (随意设置只能是英文,默认也行)
    2. 用户账号:选择 root
    3. 已启用:勾选
  4. 计划选项卡:
    1. 选择在以下天中运行
    2. 上半部分根据自己需求设置一个日期循环
    3. 下半部分设置执行的时间,我设置在凌晨3点半
  5. 任务设置选项卡:
    1. 将第一步复制的语句粘贴到 用户自定义脚本输入框
    2. 按确定
  6. 先尝试执行一次测试是否成功:任务计划列表中,右键要执行的项目-> 运行,等待~~~
  7. 要具体查看执行结果:单击该项目-> 动作 -> 查看结果,一般来讲 正常(0) 表示成功,以后等着自动执行就可以了。

自动更新特定镜像

使用 watchtower 自动更新特定容器

按照第一部分自动更新全部镜像的方法,只是把代码改成以下代码,修改特定容器名称为你要自动更新的容器:

docker run --rm --name watchtower
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower 特定容器名称 --cleanup --run-once

通过计划任务自动更新 Docker Compose 部署的应用

针对使用 Docker Compose 部署的应用,也可以使用 watchtower 自动更新,但是其本身还有一种更新方式,作为一种补充吧,方法如下:

  1. 找到当初部署应用的 docker-compose.yml 文件位置,并获取其所在文件夹的路径。
  2. 修改后面代码中的文件路径为 docker-compose.yml 文件所在的文件夹路径。
  3. 按照本文第一部分的方法,设置计划任务进行定时更新。
cd 文件路径 //例如: cd /volume1/docker/Homarr
docker-compose pull
docker-compose down
docker-compose up --detach
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇