欢迎莅临寒舍
桃花仙人种桃树,又摘桃花换酒钱

飞牛 使用docker部署Watchtower 自动更新 Docker 容器

Watchtower是一款开源的Docker容器管理工具,其主要功能在于自动更新运行中的Docker容器

Watchtower 支持以下功能:

  • 自动拉取镜像并更新容器。

  • 配置邮件通知。

  • 定时执行容器更新任务。

compose搭建Watchtower

1、新建文件夹

先在任意位置创建一个watchtower文件夹,用于存放docker-compose.yaml文件,参考如下

2、新增项目

使用docker的compose方式构建,点击新增项目

3、创建项目

输入项目名称,路径选择你刚刚创建的watchtower文件夹,点击创建docker-compose.yml把以下代码拷贝进去,创建项目后立即启动打钩

带邮箱通知版本

# 邮件通知配置注意看注释

version: '3'
services: watchtower: image: containrrr/watchtower:latest container_name: watchtower environment: - WATCHTOWER_NOTIFICATIONS=email # 启用邮件通知      - WATCHTOWER_NOTIFICATION_EMAIL_FROM=xxxx@163.com  # 发件人邮箱 - WATCHTOWER_NOTIFICATION_EMAIL_TO=xxxx@qq.com # 收件人邮箱 - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.163.com # 邮件服务器地址      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587  # 邮件服务器端口      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=xxxx@163.com  # 邮箱 - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=shydihdlneq # 邮件服务器密码      - WATCHTOWER_NOTIFICATION_EMAIL_DELAY=30  # 邮件通知延迟,单位:秒 volumes: - /var/run/docker.sock:/var/run/docker.sock # 访问 Docker 守护进程 restart: unless-stopped # 自动重启容器 command: --schedule "0 3 * * *" --cleanup # 每天凌晨 3 点执行更新,删除旧镜像,并发送通知

不带邮件通知版本

version: '3'
services: watchtower: image: containrrr/watchtower:latest container_name: watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock # 访问 Docker 守护进程 restart: unless-stopped # 自动重启容器 command: --schedule "0 3 * * *" --cleanup # 每天凌晨 3 点执行更新,并删除旧镜像

复制代码运行报错的,请在浏览器打开文章后再复制

邮件通知请根据自己的邮箱配置,收件人和发件人可以是同一个邮箱,代码中设置的是明天凌晨3点执行更新,如有其他时间自行修改

# 解释:--schedule "0 3 * * *":使用 CRON 表达式定义任务计划,这里表示每天凌晨 3:00 执行。第一位 0:表示分钟。第二位 3:表示小时(24 小时制)。第三位 *:表示日。第四位 *:表示月。第五位 *:表示星期。--cleanup:更新后删除旧镜像,释放存储空间。

点击完成,等待构建完成,如下图

部署完成之后就会立即执行一遍的,我配置了邮件通知,就会收到消息提醒

查看运行日志,拉取并且创建成功

镜像拉取不下来的,可以试着换换镜像源

其他配置参数看官方文档

赞(0)
未经允许不得转载:桃花坞里桃花庵 » 飞牛 使用docker部署Watchtower 自动更新 Docker 容器

评论 抢沙发

登录

找回密码

注册