收起左侧

自动更新Docker镜像(Watchtower)

32
回复
4346
查看
[ 复制链接 ]

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2024-9-23 23:23:47 显示全部楼层 阅读模式
本帖最后由 玉尺书生 于 2025-2-5 19:03 编辑

Watchtower可以自动执行 Docker 容器基础映像更新的过程。Watchtower 将拉下您的新映像,优雅地关闭现有容器,然后使用最初部署时使用的相同选项重新启动它。
安装方式:
Docker 直接部署
  1. $ docker run --detach \
  2.     --name watchtower \
  3.     --volume /var/run/docker.sock:/var/run/docker.sock \
  4.     containrrr/watchtower
复制代码


DockerCompose部署
  1. version: '3.1'
  2. services:
  3.   watchtower:
  4.     image: containrrr/watchtower
  5.     container_name: watchtower
  6.     restart: always
  7.     environment:
  8.       - TZ=Asia/Shanghai
  9.     volumes:
  10.       - /var/run/docker.sock:/var/run/docker.sock
  11.     command: --cleanup --schedule "0 0 4 * * *"
复制代码
说明:
command: --cleanup --schedule "0 0 4 * * *"  # --cleanup 自动清理旧镜像, --schedule "0 0 4 * * *"  定时每天4点运行,如果要指定只监控某个或者多个容器,在 command: --cleanup --schedule "0 0 4 * * *"后加上容器名字即可用空格分隔。
例如:
command: --cleanup --schedule "0 0 4 * * *" watchtower sun-panel
项目官网:
https://github.com/containrrr/watchtower


收藏
送赞 5
分享

0

主题

29

回帖

0

牛值

江湖小虾

2024-10-12 10:13:07 显示全部楼层
实测好用

1

主题

29

回帖

0

牛值

江湖小虾

2024-10-28 12:05:12 显示全部楼层
容器开机启动那个√打上保存,报存储位置错误,怎么解决
那应该是配置错误了。  详情 回复
2024-10-28 12:20

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2024-10-28 12:20:26 楼主 显示全部楼层
那应该是配置错误了。
docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower -c \ pixman \ --interval 3600 这样写的,有错  详情 回复
2024-10-28 14:09

1

主题

29

回帖

0

牛值

江湖小虾

2024-10-28 14:09:26 显示全部楼层
docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c \
    pixman \
    --interval 3600
这样写的,有错误吗大佬
[md]``` docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower -c pixman --interval 3600 ``` 应该是这样的,你的是  详情 回复
2024-10-28 15:31

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2024-10-28 15:31:50 楼主 显示全部楼层
docker run -d \
  --name watchtower \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower -c pixman --interval 3600

应该是这样的,你的是只更新一个镜像pixman,一个小时刷新一次

您好,按这样部署后,到docker容器里去看,“开机自动开启”没有打钩,重启后不会自动运行这个容器。如果打钩,保存时会报错,存储位置错误,这个怎么解决?  详情 回复
2024-10-29 11:33

1

主题

29

回帖

0

牛值

江湖小虾

2024-10-29 11:33:59 显示全部楼层
您好,按这样部署后,到docker容器里去看,“开机自动开启”没有打钩,重启后不会自动运行这个容器。如果打钩,保存时会报错,存储位置错误,这个怎么解决?
[md]如果单纯的自动启动就改一下代码,我不知道你那里为什么不能勾选,我的是没问题。代码改动如下: ``` docker run -d \ --name watchtower \ --restart always \ -v /var/run/docker.sock:/var/run/docker  详情 回复
2024-10-29 12:12

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2024-10-29 12:12:27 楼主 显示全部楼层

如果单纯的自动启动就改一下代码,我不知道你那里为什么不能勾选,我的是没问题。代码改动如下:

docker run -d \
  --name watchtower \
  --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower -c pixman --interval 3600
把--restart unless-stopped \ 这行改为 -restart always \ ,容器显示自启了。这个fnos不知什么问题,我在其他的机器a**ian前面的代码都没问题。谢谢大佬指点  详情 回复
2024-10-29 19:28
好的,我去试试,谢谢  详情 回复
2024-10-29 14:21

1

主题

29

回帖

0

牛值

江湖小虾

2024-10-29 14:21:31 显示全部楼层
好的,我去试试,谢谢

1

主题

29

回帖

0

牛值

江湖小虾

2024-10-29 19:28:36 显示全部楼层
把--restart unless-stopped \   这行改为    -restart always \  ,容器显示自启了。这个fnos不知什么问题,我在其他的机器a**ian前面的代码都没问题。谢谢大佬指点

0

主题

23

回帖

0

牛值

江湖小虾

2024-11-24 21:53:58 显示全部楼层
请问如何用 DockerCompose部署的形式,仅更新指定的容器
在command后面加上对应的容器名就行了。  详情 回复
2024-11-24 22:19

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2024-11-24 22:19:45 楼主 显示全部楼层
在command后面加上对应的容器名就行了。

1

主题

4

回帖

0

牛值

江湖小虾

2024-12-15 00:28:37 显示全部楼层
DockerCompose部署错了,不能直接复制粘贴使用,经查是格式没有对其;修正后的代码如下:

version: '3.1'
services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: always
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command:
      - --cleanup
      - --schedule
      - "0 0 4 * * *"
你这个是错的。  详情 回复
2024-12-15 00:31

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2024-12-15 00:31:40 楼主 显示全部楼层
你这个是错的。
奇怪,我直接复制你的代码报错,我这个用chatgpt过了一遍格式,丢进去就成功运行了。总之现在是成功运行了,让其他网友自行取用吧。  详情 回复
2024-12-18 00:58

1

主题

4

回帖

0

牛值

江湖小虾

2024-12-18 00:58:11 显示全部楼层
奇怪,我直接复制你的代码报错,我这个用chatgpt过了一遍格式,丢进去就成功运行了。总之现在是成功运行了,让其他网友自行取用吧。

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 14:42:50 显示全部楼层
time="2025-01-24T14:38:42+08:00" level=warning msg="Reason: Get \"https://index.docker.io/v2/\": dial tcp 199.59.149.234:443: connect: connection refused" container=/doube-itv image="doubebly/doube-itv:latest"

大佬,我这里部署成功了,但是总是拉取不到更新,报这个错,感觉是源的问题,请问这个咋解决

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 14:45:18 显示全部楼层
time="2025-01-24T14:38:42+08:00" level=warning msg="Reason: Get \"https://index.docker.io/v2/\": dial tcp 199.59.149.234:443: connect: connection refused" container=/doube-itv image="doubebly/doube-itv:latest"
大佬,帮忙看看这个错误
https://club.fnnas.com/forum.php?mod=viewthread&tid=5533&extra=page%3D1 可以试试这个  详情 回复
2025-1-24 15:02

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-24 15:02:40 楼主 显示全部楼层
我试了下,还是不行,已经在镜像仓库里换源了,但是watchtower还是从https://index.docker.io/v2这里访问,不知道为啥  详情 回复
2025-1-24 15:26

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 15:26:08 显示全部楼层
玉尺书生 发表于 2025-1-24 15:02
https://club.fnnas.com/forum.php?mod=viewthread&tid=5533&extra=page%3D1 可以试试这个

我试了下,还是不行,已经在镜像仓库里换源了,但是watchtower还是从https://index.docker.io/v2这里访问,不知道为啥
修改完重启DOCKER服务。  详情 回复
2025-1-24 15:36

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-24 15:36:51 楼主 显示全部楼层
修改完重启DOCKER服务。
重启了也不行。。。感觉还是从那个index.docker.io这里访问的  详情 回复
2025-1-24 15:47

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 15:47:50 显示全部楼层
玉尺书生 发表于 2025-1-24 15:36
修改完重启DOCKER服务。

重启了也不行。。。感觉还是从那个index.docker.io这里访问的
你是不是修改过daemon.json这个文件啊,看看你这文件里的内容,ssh下输入cat /etc/docker/daemon.json,然后截图来看看  详情 回复
2025-1-24 15:56

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-24 15:56:09 楼主 显示全部楼层
你是不是修改过daemon.json这个文件啊,看看你这文件里的内容,ssh下输入cat /etc/docker/daemon.json,然后截图来看看
按照方法一试了没有效果之后,自己又在.josn文件里加了几个源,也还是不行 root@nas:/etc/docker# cat daemon.json {"data-root":"/vol1/docker","insecure-registries":["127.0.0.1:19827"],"live-restore":tru  详情 回复
2025-1-24 16:37

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 16:37:27 显示全部楼层


按照方法一试了没有效果之后,自己又在.josn文件里加了几个源,也还是不行


root@nas:/etc/docker# cat daemon.json
{"data-root":"/vol1/docker","insecure-registries":["127.0.0.1:19827"],"live-restore":true,"registry-mirrors":["https://docker.1ms.run","https://docker.m.daocloud.io","https://docker.1panel.top"]}




后来按照网上方法在compose里设置了映射,也不行。。
这个是完整报错日志  详情 回复
2025-1-24 16:39

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 16:39:51 显示全部楼层
这个是完整报错日志

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这不是报错,这是正常的消息。  详情 回复
2025-1-24 16:55

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-24 16:55:48 楼主 显示全部楼层
这不是报错,这是正常的消息。
啊。。出现这个是说 已经更新成功了是吗。。我以为是报错呢,说connection refused,链接失败什么的。。。  详情 回复
2025-1-24 16:59

0

主题

10

回帖

0

牛值

江湖小虾

2025-1-24 16:59:23 显示全部楼层
啊。。出现这个是说 已经更新成功了是吗。。我以为是报错呢,说connection refused,链接失败什么的。。。
应该是没有更新吧。  详情 回复
2025-1-24 17:05

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-1-24 17:05:25 楼主 显示全部楼层
应该是没有更新吧。

0

主题

1

回帖

0

牛值

江湖小虾

2025-2-5 16:28:13 显示全部楼层
我想让他12小时一次自动更新allinone,compose代码应该怎么写
[md]``` services: watchtower: image: containrrr/watchtower container_name: watchtower restart: always environment: - TZ=Asia/Shanghai volumes: - /var/run/docker.sock:  详情 回复
2025-2-5 19:00

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-2-5 19:00:24 楼主 显示全部楼层
services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: always
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --cleanup --schedule "0 0 */12 * * *" allinone

--schedule "0 0 /12 " 表示每 12 小时运行一次(基于 cron 六段式语法,对应 秒 分 时 日 月 周)。实际执行时间点为每天的 0:00 和 12:00(受 TZ=Asia/Shanghai 影响,按中国时区计算)。

如果不希望整点运行可以用这个参数--interval 43200替换掉--schedule "0 0 /12 "参数,两个参数二选一即可。

0

主题

1

回帖

0

牛值

江湖小虾

2025-3-5 15:07:09 显示全部楼层
containrrr/watchtower容器报错的:可以尝试替换镜像

image: v2tec/watchtower:latest

0

主题

2

回帖

0

牛值

江湖小虾

2025-3-6 15:17:32 显示全部楼层
command: --cleanup --schedule "0 0 4 * * *"大佬这个后面是有多少docker容器就写多少容器名在后面?
你要是所有的都更新就不填,不填默认是更新所有运行的容器。  详情 回复
2025-3-6 16:14

32

主题

2249

回帖

290

牛值

社区共建团

社区上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家

2025-3-6 16:14:15 楼主 显示全部楼层
你要是所有的都更新就不填,不填默认是更新所有运行的容器。
好的谢谢  详情 回复
2025-3-7 11:10

0

主题

2

回帖

0

牛值

江湖小虾

2025-3-7 11:10:55 显示全部楼层
好的谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则