使用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
相关推荐
June`9 小时前
Docker镜像与容器:轻松理解与实战
运维·docker·容器
荣光波比9 小时前
Docker(二)—— Docker核心功能全解析:网络、资源控制、数据卷与镜像构建实战
运维·网络·docker·容器·云计算
福大大架构师每日一题10 小时前
docker和k3s安装kafka,go语言发送和接收kafka消息
docker·golang·kafka
灰色红桃10 小时前
Docker 安装多版本Mysql+PHP+Nginx(php5.6,php7,mysql5.6,mysql8)
docker
php@king10 小时前
安装xdebug调试工具(docker容器+vscode编辑器+xdebug)
vscode·docker·编辑器
2501_9200470312 小时前
docker相关进程的作用
运维·docker·容器
Ting-yu12 小时前
零基础学Docker(5)--容器数据卷
运维·docker·容器
key_Go13 小时前
07.容器监控
运维·网络·网络协议·docker·监控
苦逼IT运维13 小时前
Windows 作为 Ansible 节点的完整部署流程(含 Docker 部署 Ansible)
windows·docker·ansible
Lin_Aries_042114 小时前
部署 Jenkins 服务器
运维·服务器·docker·容器·云计算·jenkins