如何自动更新群晖docker的镜像与容器
今天看到@Stille 发布一篇关于使用 Watchtower 自动更新 docker 镜像和容器的文章,于是想同步到群晖,没想到部署时又遇到一个坑,分享下填坑记录。
友情提醒:如果当前容器使用稳定,不建议部署自动更新,以防出现不可预估的错误。
关于 Watchtower
Watchtower :一种基于容器的解决方案,用于自动化Docker容器基础映像更新。
官方地址:https://containrrr.github.io/watchtower/
项目开源地址:https://github.com/containrrr/watchtower/
可理解为程序自动判断镜像是否有升级,有就自动下载并按照之前的部署指令生成容器(一般数据都存放在独立文件夹,不用担心被清空)。
群晖前置条件
在群晖 Docker 中搜索 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
来完成,如文档描述,还得创建软链接(符号链接)。
(参考文档以及 PIC via)
?使用 ln -s /var/run/docker.sock /volume2/docker/docker.sock
意思把你当前群晖的 sock 映射到 docker 共享目录(我这里安装在 volume2),但重启后软链会消失,所以得加上开机启动。
⚪打开控制面板 ➡ 任务计划 ➡ 新增 ➡ 触发的脚本 ➡ 用户定义的脚本,然后如图设置,搞定。
Watchtower 安装
上面步骤完成后,通过 SSH 进入 shell,输入以下指令,done?
特别提醒:因 docker.sock 为套接字文件,File Station 无法查看,故 GUI 下不可设定。
1 |
docker run -d --name watchtower -v /volume2/docker/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 82800 --cleanup |
更多 watchtower 设定可参考官方文档,或 Stille 发布的《Watchtower - 自动更新 Docker 镜像与容器》
以上只针对黑群,正版群晖升级后 DSM 部署也就这一句指令的事~ 这就是花钱的好处?
上次一周双更不晓得是何时,群晖折腾的东西很多,写着也有趣,后面也尝试分享如何搭架家庭影音系统(含小姐姐影片的刮削?)。
今天开车出去找麦当劳,结果提示只送外卖?,看到大门紧闭的火锅店,口水忍不住流下来,好想吃火锅呀!!!
-End-
2020年02月21日 00:46 沙发
好好的技术经验分享你在最后提什么火锅呀。。。现在可是深夜,又得去厨房弄吃的了?
2020年02月21日 23:16
@执迷不悟 你这样很容易发福哦~~ 深夜我最喜欢吃的是方便面 ?
2020年02月21日 17:28 板凳
群辉的docker我都好久没更新了,就挂了一个TR在上面混PT
2020年02月21日 23:16
@南生余 PT不签到容易消号吧,有没有弄自动签到的程序~
2020年02月22日 18:18 地板
效率好高…晚上有空测试一下!
2020年02月22日 18:22
@Stille 有效的,我的TTRSS已经自动更新到最新镜像了,确实方便~ 没写很细,只写了注意点,毕竟你那边写得非常详细了 ?
2020年02月23日 19:44 4楼
我最近整了台N1盒子,也折腾了一下docker,装了个portainer(docker可视化面板),还整了个openwrt做旁路由,可惜n1盒子2.0的口,我接的也是2.0的U盘,用脚本测了测,io5m/s, ,刚开始docke pull镜像还挺正常的,第二天就各种拉取失败
2020年02月24日 09:57
@xiaoshi 2.0确实很捉急,100m的网卡也很捉急,不过用来作为电影的nas 也够用了~
2020年02月24日 11:30
@牧羊人 千兆口????
2020年02月24日 17:02
@xiaoshi 百兆吧?我也有一台
2020年02月24日 17:04
@牧羊人 我记得N1千兆,T1百兆
2020年02月24日 10:04
@xiaoshi 群晖有可视化的面板(虽然有点low,但是普通情况够用了),你这个设备情况完全入门级呀,如果觉得好玩,以后必须整个NAS,有反穿,干啥都行 ?
2020年02月24日 11:31
@Sam.Z 主要是那个2.0的口,简直了 emmc的速度挺快???
2020年02月24日 14:06
@xiaoshi 嗯,2.0做普通应用也够了,搭个文件管理系统,妥。
2020年02月24日 08:58 5楼
高端的东西,玩不转
2020年03月06日 23:05 6楼
今天本来打算在DSM图形界面尝试部署,后来发现DSM的docker中挂载无法选择到docker.sock.即使ln软链接,在命令行下能看到软连接,在file station中确看不到….看来只能SSH登陆来实现了.
2020年03月06日 23:14
@stille 哈哈,是这样的情况,GUI 不能选择,只能通过 SSH 来完成,我把这个注意事项加上