当前位置: 首页 > news >正文

飞牛 使用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: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.lryc.cn/news/523819.html

相关文章:

  • 【Block总结】TAdaConv时序自适应卷积,轻量高效的时间建模卷积|即插即用
  • Spring Boot 项目启动报错 “找不到或无法加载主类” 解决笔记
  • CSS 网络安全字体
  • Linux高并发服务器开发 第十五天(fork函数)
  • 【人工智能】Python中的自动化机器学习(AutoML):如何使用TPOT优化模型选择
  • 探秘自然地理:从太阳到地球的奇妙之旅与灾害预警
  • go语言zero框架通过chromedp实现网页在线截图的设计与功能实现
  • AI发展困境:技术路径与实践约束的博弈
  • [前端算法]排序算法
  • Zemax STAR 模块的入门设置
  • 知识图谱的语义叙事:构建智慧的连贯之路
  • Oracle graph 图数据库体验-安装篇
  • Nginx:从入门到实战使用教程
  • 网络安全:信息时代的守护者
  • Visual Studio Code + Stm32 (IAR)
  • JavaScript语言的正则表达式
  • R语言的编程范式
  • CentOS9 安装Docker+Dpanel+onlyoffice(https、更改字体、字号、去除限制)的避坑笔记
  • Excel 技巧11 - 如何使用Excel作成简单的排班表(★★),weekday 函数,TEXT函数
  • StarRocks 怎么让特定的SQL路由到FE master节点的
  • 在Windows/Linux/MacOS C++程序中打印崩溃调用栈和局部变量信息
  • 解决npm install安装出现packages are looking for funding run `npm fund` for details问题
  • 豆包MarsCode:小C点菜问题
  • K8S中Pod控制器之CronJob(CJ)控制器
  • FRP内网穿透0.61.1新版教程
  • 亲测解决`data_array` is not of type `MetaTensor, assuming affine to be identity
  • python+pygame+pytmx+map editor开发一个tiled游戏demo 05使用object层初始化player位置
  • Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理
  • wordpress安装完后台无格式解决方法(样式加载不出来)
  • 数据库管理-第285期 Oracle 23ai:深入浅出向量索引(20250117)