2020-02-20  22,773 views 17

如何自动更新群晖docker的镜像与容器

温馨提示:本文共计1216个字,预计阅读时间需要5分钟。

如何自动更新群晖docker的镜像与容器

今天看到@Stille 发布一篇关于使用 Watchtower 自动更新 docker 镜像和容器的文章,于是想同步到群晖,没想到部署时又遇到一个坑,分享下填坑记录。

友情提醒:如果当前容器使用稳定,不建议部署自动更新,以防出现不可预估的错误。

关于 Watchtower

Watchtower :一种基于容器的解决方案,用于自动化Docker容器基础映像更新。

官方地址:https://containrrr.github.io/watchtower/
项目开源地址:https://github.com/containrrr/watchtower/

可理解为程序自动判断镜像是否有升级,有就自动下载并按照之前的部署指令生成容器(一般数据都存放在独立文件夹,不用担心被清空)。

群晖前置条件

在群晖 Docker 中搜索 watchtower,会有若干个镜像,

选择群晖能使用的watchtower

选择第二个,第一个已不再维护了,这里也可不用先下载,后面通过 shell 进去没有会自动完成下载 ?。

看了下项目地址,wiki 里有针对群晖的安装向导,分享下注意点:

⚫文档在 2019-06-07 更新,说群晖已升级了 Docker,如果你用最新版直接运行代码即可,但、但、但是?,我是黑群晖呀,DSM 6.1.7-15284 (官方最新版 6.2.2-24922)版本表示直接运行依然报错❌。

?关于 docker.sock,了解它很重要,watchtower 必须使用 docker.sock 与 Docker 守护进程通信,因为黑群晖老版本无法直接访问 var 目录,所以无法通过配置 -v /var/run/docker.sock:/var/run/docker.sock 来完成,如文档描述,还得创建软链接(符号链接)。

docker.sock

(参考文档以及 PIC via)

?使用 ln -s /var/run/docker.sock /volume2/docker/docker.sock 意思把你当前群晖的 sock 映射到 docker 共享目录(我这里安装在 volume2),但重启后软链会消失,所以得加上开机启动。

设置docker.sock

设置docker.sock

⚪打开控制面板 ➡ 任务计划 ➡ 新增 ➡ 触发的脚本 ➡ 用户定义的脚本,然后如图设置,搞定。

设置开机启动

Watchtower 安装

上面步骤完成后,通过 SSH 进入 shell,输入以下指令,done?

特别提醒:因 docker.sock 为套接字文件,File Station 无法查看,故 GUI 下不可设定。

指令运行结果

GUI界面提示

更多 watchtower 设定可参考官方文档,或 Stille 发布的《Watchtower - 自动更新 Docker 镜像与容器》

以上只针对黑群,正版群晖升级后 DSM 部署也就这一句指令的事~ 这就是花钱的好处?


上次一周双更不晓得是何时,群晖折腾的东西很多,写着也有趣,后面也尝试分享如何搭架家庭影音系统(含小姐姐影片的刮削?)。

今天开车出去找麦当劳,结果提示只送外卖?,看到大门紧闭的火锅店,口水忍不住流下来,好想吃火锅呀!!!

麦当劳只送外卖

-End-

17 条评论  访客:11 条  作者:6 条

  1. 执迷不悟 LV2

    好好的技术经验分享你在最后提什么火锅呀。。。现在可是深夜,又得去厨房弄吃的了?

    • Sam.Z GM

      @执迷不悟 你这样很容易发福哦~~ 深夜我最喜欢吃的是方便面 ?

  2. 南生余 LV1

    群辉的docker我都好久没更新了,就挂了一个TR在上面混PT :idea: :idea: :idea: :idea:

    • Sam.Z GM

      @南生余 PT不签到容易消号吧,有没有弄自动签到的程序~

  3. Stille

    效率好高…晚上有空测试一下!

    • Sam.Z GM

      @Stille 有效的,我的TTRSS已经自动更新到最新镜像了,确实方便~ 没写很细,只写了注意点,毕竟你那边写得非常详细了 ?

  4. xiaoshi LV3

    我最近整了台N1盒子,也折腾了一下docker,装了个portainer(docker可视化面板),还整了个openwrt做旁路由,可惜n1盒子2.0的口,我接的也是2.0的U盘,用脚本测了测,io5m/s, :twisted: :twisted: ,刚开始docke pull镜像还挺正常的,第二天就各种拉取失败 :mrgreen: :mrgreen:

    • 牧羊人 LV2

      @xiaoshi 2.0确实很捉急,100m的网卡也很捉急,不过用来作为电影的nas 也够用了~

    • Sam.Z GM

      @xiaoshi 群晖有可视化的面板(虽然有点low,但是普通情况够用了),你这个设备情况完全入门级呀,如果觉得好玩,以后必须整个NAS,有反穿,干啥都行 ?

      • xiaoshi LV3

        @Sam.Z 主要是那个2.0的口,简直了 :grin: emmc的速度挺快???

        • Sam.Z GM

          @xiaoshi 嗯,2.0做普通应用也够了,搭个文件管理系统,妥。

  5. 灰狼 LV2

    高端的东西,玩不转

  6. stille

    今天本来打算在DSM图形界面尝试部署,后来发现DSM的docker中挂载无法选择到docker.sock.即使ln软链接,在命令行下能看到软连接,在file station中确看不到….看来只能SSH登陆来实现了.

    • Sam.Z GM

      @stille 哈哈,是这样的情况,GUI 不能选择,只能通过 SSH 来完成,我把这个注意事项加上 :mrgreen:

评论已关闭!