3

自动更新Docker镜像(Watchtower)

发表于:2024-9-23 23:23:47 应用分享 733
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点运行。
项目官网:
https://github.com/containrrr/watchtower

收藏
送赞 3
分享

发表回复

评论列表(9)

实测好用
2024-10-12 10:13:07 回复
容器开机启动那个√打上保存,报存储位置错误,怎么解决
2024-10-28 12:05:12 回复
那应该是配置错误了。  详情 回复
2024-10-28 12:20
那应该是配置错误了。
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
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:26 回复
[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
docker run -d \
  --name watchtower \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower -c pixman --interval 3600

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

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

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

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