watchtower检测镜像仓库自动更新docker容器

watchtower检测镜像仓库自动更新docker容器Watchtower 容器自动检测更新 1 获取镜像仓库配置文件在宿主机上执行 dockerlogin 命令 宿主机 home docker 目录下生成 config json 文件 dockerlogin4 xx xx 38 90012 配置 watchtowerdo compose yaml 文件下面 yaml 文件实现了用 watchtower 容器监控 mysql 容器是否有镜像更新 并启用了 lifecyclehoo 在 mysql 容器重启前执行 root sh pre update sh

Watchtower 容器自动检测更新

1、获取镜像仓库配置文件

在宿主机上执行docker login命令,宿主机home/.docker目录下生成config.json文件

 docker login 42.xx.xx.38:9001 

2、配置watchtower docker-compose.yaml文件

下面yaml文件实现了用watchtower容器监控mysql容器是否有镜像更新,并启用了lifecycle hooks,在mysql容器重启前执行/root/sh/pre-update.sh脚本,在mysql容器重启后执行/root/sh/post-update.sh脚本。

version: "3.4" services: mysql: container_name: mysql image: 42.xx.xx.38:8082/baas/mysql:latest ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: may@8888 volumes: - /csw/watchtower/sh/:/root/sh/ - /etc/localtime:/etc/localtime:ro - /csw/watchtower/log/:/log/ privileged: true labels: com.centurylinklabs.watchtower.enable: true com.centurylinklabs.watchtower.lifecycle.pre-check: "/root/sh/pre-check.sh" com.centurylinklabs.watchtower.lifecycle.pre-update: "/root/sh/pre-update.sh" com.centurylinklabs.watchtower.lifecycle.post-update: "/root/sh/post-update.sh" com.centurylinklabs.watchtower.lifecycle.post-check: "/root/sh/post-check.sh" watchtower: container_name: watchtower image: containrrr/watchtower:v1.3.0 environment: DOCKER_CONFIG: /config # 可选项,不配置默认为/目录 WATCHTOWER_LABEL_ENABLE: true # 是否启用label筛选 WATCHTOWER_CLEANUP: true # 是否删除旧的镜像 WATCHTOWER_REMOVE_VOLUMES: true # 是否删除attached volumes WATCHTOWER_LIFECYCLE_HOOKS: true # 是否使用生命周期控制执行脚本 WATCHTOWER_POLL_INTERVAL: 10 # 镜像检测时间间隔 WATCHTOWER_DEBUG: true # 是否启用debug模式 privileged: true # 设置容器root权限 volumes: - /var/run/docker.sock:/var/run/docker.sock # 宿主机docker.sock文件挂载 - /root/.docker/config.json:/config/config.json # 镜像仓库认证文件 - /etc/localtime:/etc/localtime:ro # 时间设置 command: ['mysql'] # 指定要检测的容器名 

3、执行docker-compose.yaml文件

docker-compose -f docker-compose.yaml up -d 

官方文档:https://containrrr.dev/watchtower/usage-overview/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201579.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午9:04
下一篇 2026年3月20日 上午9:05


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号