赞
踩
Watchtower 是一个非常实用的工具,它自动监视你的 Docker 容器并在发现基础镜像被更新时自动重启容器,使用最新的镜像。这对于确保你的应用程序始终运行最新版本的镜像是非常有帮助的,尤其是在安全更新的情况下。
首先,你需要在你的系统上安装 Docker。一旦安装好 Docker,你可以通过 Docker 命令行工具来运行 Watchtower 容器。
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
这段命令基本上就是启动了一个 Watchtower 容器,让它能够访问 Docker 守护程序的 UNIX 套接字,从而管理其他容器。
--interval <seconds>
: 设置 Watchtower 轮询检查更新的时间间隔,默认是 300 秒。--schedule "0 0 4 * * *"
: 使用 cron 表达式来代替轮询间隔,定义更具体的执行时间。--no-pull
: 禁止 Watchtower 拉取新的镜像。--no-restart
: 禁止 Watchtower 重启容器。--cleanup
: 删除旧版本的镜像。--tlsverify
: 使用 TLS 并验证 Docker 守护程序的 SSL 证书(如果你的 Docker 配置了 TLS)。--label-enable
: 通过标签过滤容器,只更新添加了 com.centurylinklabs.watchtower.enable=true
标签的容器。-v /var/run/docker.sock:/var/run/docker.sock
: 允许 Watchtower 访问 Docker 守护进程。如果你只想监视特定的容器(比如 nginx),你可以在运行容器时添加一个标签,然后让 Watchtower 仅监视带有该标签的容器。
docker run -d --name nginx-container --label=com.centurylinklabs.watchtower.enable=true nginx
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--label-enable
如果你想让 Watchtower 忽略特定的容器(比如 drawio),可以通过给该容器添加一个特定的标签来实现:
docker run -d --name drawio-container --label=com.centurylinklabs.watchtower.enable=false drawio
--label-enable
)。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。