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

embedded/2025/1/18 11:23:58/

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

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

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

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

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

其他配置参数看官方文档


http://www.ppmy.cn/embedded/154928.html

相关文章

【Linux】常用指令详解二

前言 介绍一些Linux常用命令,本文为文章【Linux】常用指令详解一的续作 1.绝对路径与相对路径 绝对路径:从系统根目录开始,可以完整描述文件或目录的路径。使用绝对路径可以准确定位到系统中的某个文件或目录。 相对路径:相对…

【Linux系统】分区挂载

我们能够根据一个 inode 号在指定分区寻找目标文件的 struct inode,也能根据目录文件的内容,通过映射关系,找指定的 inode,可是,现在有个问题: 问题:inode 是不能跨分区使用的!Linu…

正则表达式--元字符-基础字符(2)

只代表一位 1.\w 字母 数字 下划线 2.\W 非字母 数字 下划线 3. . 任意内容&#xff08;换行不算&#xff09; 4. 转义字符 \ 强行转义成没意义的 <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…

Hessian矩阵 通过符号计算解析 Hessian 矩阵

在工业机器人中&#xff0c;构建Hessian矩阵通常用于优化、运动规划或控制任务。Hessian矩阵是目标函数的二阶偏导数矩阵&#xff0c;常用于牛顿法等优化算法中。以下是构建Hessian矩阵的步骤&#xff1a; 1. 定义目标函数 首先&#xff0c;明确需要优化的目标函数 ( f ( x …

云消息队列 Kafka 版 V3 系列荣获信通院“云原生技术创新标杆案例”

2024 年 12 月 24 日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;主办的“2025 中国信通院深度观察报告会&#xff1a;算力互联网分论坛”&#xff0c;在北京隆重召开。本次论坛以“算力互联网 新质生产力”为主题&#xff0c;全面展示中国…

期权懂|期权的溢价率和杠杆率有什么区别?

锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 期权的溢价率和杠杆率有什么区别&#xff1f; 一、定义篇 期权溢价率&#xff1a;这是一个细腻地描绘了期权价格与其内在价值之间微妙差异的指标。想象一下&#xff0c;期权价格就…

矩阵碰一碰发视频之视频剪辑功能开发全解析,支持OEM

在短视频风靡的当下&#xff0c;矩阵碰一碰发视频结合视频剪辑功能&#xff0c;为内容创作与传播带来了全新的活力。本文将深入探讨这一创新功能的源码搭建过程&#xff0c;助力开发者打造出功能强大且用户体验良好的视频处理系统。 一、技术选型 前端技术 框架&#xff1a;选…

RabbitMQ--发送方确认及消息重试

(一)发送方确认 之前我们在七大工作模式中简单说了发送方确认&#xff0c;就是生产者到RabbitMQ这一过程中&#xff0c;消息是否正确到达服务器&#xff0c;生产者要进行确认的过程 一共有两种确认模式 1.confirm确认模式 是生产者到交换机的阶段&#xff0c;生产者进行确认的…