自学内容网 自学内容网

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

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

Watchtower 支持以下功能:

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

  • 配置邮件通知。

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

compose搭建Watchtower

1、新建文件夹

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

2、新增项目

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

3、创建项目

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

带邮箱通知版本

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

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 点执行更新,删除旧镜像,并发送通知

不带邮件通知版本

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:更新后删除旧镜像,释放存储空间。

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

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

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

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

其他配置参数看官方文档


原文地址:https://blog.csdn.net/u014688024/article/details/145185559

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!