docker搭建 Watchtower

Watchtower 是一个非常实用的工具,它自动监视你的 Docker 容器并在发现基础镜像被更新时自动重启容器,使用最新的镜像。这对于确保你的应用程序始终运行最新版本的镜像是非常有帮助的,尤其是在安全更新的情况下。

如何使用 Docker 搭建 Watchtower

首先,你需要在你的系统上安装 Docker。一旦安装好 Docker,你可以通过 Docker 命令行工具来运行 Watchtower 容器。

docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower

这段命令基本上就是启动了一个 Watchtower 容器,让它能够访问 Docker 守护程序的 UNIX 套接字,从而管理其他容器。

Watchtower 参数详解

  • --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 仅监视带有该标签的容器。

  1. 运行 nginx 容器时添加标签:
docker run -d --name nginx-container --label=com.centurylinklabs.watchtower.enable=true nginx
  1. 运行 Watchtower 并启用标签过滤:
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --label-enable

忽略特定的容器

如果你想让 Watchtower 忽略特定的容器(比如 drawio),可以通过给该容器添加一个特定的标签来实现:

  1. 运行 drawio 容器时添加标签以告诉 Watchtower 忽略它:
docker run -d --name drawio-container --label=com.centurylinklabs.watchtower.enable=false drawio
  1. 确保 Watchtower 在标签模式下运行(如上所述,使用 --label-enable)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值