48小时更新一次指定容器,并且清理旧镜像【注意做好更新的容器的数据持久化】:

1
2
3
4
5
docker run -d \
--name watchtower \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower 容器名称 --cleanup --interval 172800
  • docker run -d: 以后台守护进程方式运行容器。
  • --name watchtower: 为这个容器命名为 watchtower
  • --restart=always: 在容器停止时自动重启。
  • -v /var/run/docker.sock:/var/run/docker.sock: 挂载 Docker 套接字,使 Watchtower 能够与 Docker 守护进程通信。
  • containrrr/watchtower: 使用 Watchtower 镜像。
  • 容器名称: 只检查和更新指定的容器(用实际容器名称替换)。
  • --cleanup: 删除旧的未使用镜像。
  • --interval 172800: 设置检查间隔为 172800 秒(48小时)。

手动更新一次指定容器,并且清理旧镜像以及本次运行的watchtower容器:

1
2
3
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower 容器名称 --run-once
  • docker run --rm: 启动一个临时容器,在完成后自动删除。
  • -v /var/run/docker.sock:/var/run/docker.sock: 挂载 Docker 套接字,使 Watchtower 能够与 Docker 守护进程通信。
  • containrrr/watchtower: 使用 Watchtower 镜像。
  • 容器名称: 只检查名称为 容器名称 的容器。
  • --run-once: Watchtower 运行一次后退出,不会持续监控。