使用watchtower更新docker容器

更新方式

定时更新(默认)

执行以下命令后,Watchtower 会在后台每 24 小时自动检查并更新所有运行中的容器:

bash 复制代码
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower

手动立即更新

添加 --run-once 参数启动临时容器,检查更新后自动退出,适合按需触发:

bash 复制代码
docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower --run-once

更新指定容器

在命令末尾添加需要监控的容器名称,多个容器用空格分隔。例如仅监控 nginxredis 容器:

bash 复制代码
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower nginx redis

简化命令

手动更新时,如果使用上面的命令未免太麻烦了,所以我们可以将更新命令设置为别名:

将下面的命令放到对应shell的环境文件中(比如bash对应~/.bashrc,zsh对应~/.zshrc

bash 复制代码
alias update-container="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once"

编辑完环境文件后,重新打开命令窗口,或使用source ~/.bashrcsource ~/.zshrc加载命令。 然后就可以通过下面的方式更新容器了:

bash 复制代码
update-container 容器标识

比如:

bash 复制代码
update-container nginx-ui-latest
相关推荐
YBCarry_段松啓4 小时前
DeerFlow单服务器低成本公网访问
docker·开源·llm
努力买辣条12 小时前
基于 Docker 的高可用 WordPress 集群部署:分布式 Nginx + Keepalived、MySQL 主从复制与 ProxySQL 读写分离
分布式·nginx·docker
CTRA王大大16 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang
萌虎爱分享19 小时前
Docker容器化部署实战:Tomcat与Nginx服务配置指南
nginx·docker·tomcat·容器部署
@寄居蟹20 小时前
Docker 命令大全
docker·容器·eureka
运维开发王义杰21 小时前
GitLab CI:深度解析 Runner的Shell与Docker执行器
ci/cd·docker·gitlab
qq_364371721 天前
Docker 常见命令
运维·docker·容器
小白不想白a1 天前
【K8s】整体认识K8s之Docker篇
docker·容器·kubernetes
Agome991 天前
Docker之nginx安装
java·nginx·docker