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

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

Watchtower 简介

Watchtower 是一款开源的 Docker 容器管理工具,主要功能为自动更新运行中的 Docker 容器,支持自动拉取镜像并更新容器、配置邮件通知以及定时执行容器更新任务。

用 compose 搭建 Watchtower 的步骤

  1. 新建文件夹:在任意位置创建一个 watchtower 文件夹,用于存放 docker-compose.yaml 文件。
    2024-12-16T05:57:09.png
  2. 新增项目:使用 docker 的 compose 方式构建,点击新增项目。
    2024-12-16T05:57:24.png
  3. 创建项目
    • 输入项目名称,路径选择刚刚创建的 watchtower 文件夹,点击创建。
    • 将相应代码拷贝进 docker-compose.yml 文件(创建项目后立即启动打钩)
      2024-12-16T05:57:39.png
      代码分为带邮箱通知版本和不带邮箱通知版本,以下分别介绍:
    • 带邮箱通知版本
version: '3'
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 点执行更新,删除旧镜像,并发送通知
- **不带邮箱通知版本**:
version: '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 * * *" 来定义任务计划,其中第一位 0 表示分钟,第二位 3 表示小时(24 小时制),第三位 * 表示日,第四位 * 表示月,第五位 * 表示星期),如有其他时间需求可自行修改。--cleanup 表示更新后删除旧镜像,释放存储空间。

后续操作及其他提示

  • 点击完成后,等待构建完成,部署完成之后会立即执行一遍(若配置了邮件通知,就会收到消息提醒)。
    2024-12-16T05:58:00.png

  • 查看运行日志,若镜像拉取不下来,可以试着换换镜像源(可参考“飞牛 解决 Docker 无法拉取镜像的问题”)。

  • 其他配置参数可查看官方文档:https://containrrr.dev/watchtower/arguments/。

http://www.lryc.cn/news/508876.html

相关文章:

  • 《信管通低代码信息管理系统开发平台》Linux环境安装说明
  • 基于物联网的车辆定位和防盗报警系统(论文+源码)
  • 京东零售数据可视化平台产品实践与思考
  • Vue中使用a标签下载静态资源文件(比如excel、pdf等),纯前端操作
  • ensp 基于EASY IP的公司出口链路配置
  • 方正畅享全媒体采编系统reportCenter.do接口SQL注入漏洞复现 [附POC]
  • 零知识证明:区块链隐私保护的变革力量
  • 解决:el-select可输入时失焦会失去输入框中值
  • ollama-webui - Ollama的ChatGPT 风格的 Web 界面
  • 「下载」智慧产业园区-数字孪生建设解决方案:重构产业全景图,打造虚实结合的园区数字化底座
  • 使用Grafana中按钮插件实现收发HTTP请求
  • 【附源码】Electron Windows桌面壁纸开发中的 CommonJS 和 ES Module 引入问题以及 Webpack 如何处理这种兼容
  • Elasticsearch介绍及安装部署
  • 物理层知识要点
  • SpringBoot 自动装配原理及源码解析
  • Craft CMS 模板注入导致 Rce漏洞复现(CVE-2024-56145)(附脚本)
  • Next.js 新手容易犯的错误 _ 加载与缓存管理的关键(5)
  • /etc/fstab 文件学习systemd与该文件关系
  • 从源码分析swift GCD_DispatchGroup
  • 25计软新增考研院校!或可捡漏上岸!
  • C# 线程安全集合
  • 箱包发霉怎么处理 箱包发霉处理修复方法
  • 【每日学点鸿蒙知识】Charles抓包、lock文件处理、WebView组件、NFC相关、CallMethod失败等
  • 【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题分析
  • LINUX--shell
  • TCP常见问题
  • OpenCV学习——图像融合
  • 网速、续航双在线!2024随身WiFi品牌精选推荐!格行按键切三网值得买吗?
  • ubuntu18.04连接不上网络问题
  • 访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望