飞牛 使用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.rhkb.cn/news/3903.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络功能虚拟化(NFV):网络设备也能虚拟成产品

随着信息技术的迅猛发展,网络服务的需求也在不断变化。为了应对这一挑战,网络功能虚拟化(NFV)作为一项创新技术应运而生。它不仅改变了传统网络服务的部署方式,还为电信行业带来了前所未有的灵活性、效率和成本效益。 …

如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介: 将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中,我将详细介绍如何将本地的 Node.js 服务通过宝塔面板(BT 面板)上线。宝塔面板是一个强大的服务器管理工具,具有简洁的…

Word2Vec中的CBOW模型训练原理详细解析

Word2Vec中的CBOW模型训练原理详细解析 1. CBOW模型概述 CBOW模型的训练目标是利用一个单词周围的上下文单词来预测该单词本身。具体来说,给定当前单词的上下文单词,通过训练神经网络来最大化当前单词出现在这些上下文单词中的概率。 2. 模型结构 CB…

第22篇 基于ARM A9处理器用汇编语言实现中断<四>

Q:怎样编写ARM A9处理器汇编语言代码配置使用按键和定时器中断? A:本次实验同样为中断模式和监督模式都设置ARM A9堆栈指针,并使能中断,此外在主程序中调用子程序CONFIG_HPS_TIMER和CONFIG_KEYS分别对HPS Timer 0&…

后盾人JS -- 好用的 JavaScript Symbol 类型

Symbol使用场景介绍 举个例子,当leader让你去机房取某个电脑的时候,机房那么多电脑,你怎么知道取哪个 所以这个时候symbol的作用就显现出来了(上面有什么贴纸的,什么型号的电脑) 声明定义Symbol的几种方…

反转字符串中的单词 II:Swift 实现与详解

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

JVM相关面试题

一、JVM是什么: Java Virtual Machine,Java的运行环境(java二进制字节码的运行环境);一次编写、到处运行;自动管理内存,提供垃圾回收机制 JVM的组成部分、运行流程: 二、JVM的组成: 1.程序计数器: 程序计数器是线程私有的,内部…

【蜂巢——方向,数学】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; int dx[6] {-1, -1, 0, 1, 1, 0}; int dy[6] {0, 1, 1, 0, -1, -1}; void cal(int d, int p, int q, int& x, int& y) {x p * dx[d];y p * dy[d];d (d 2) % 6;x q * dx[d];…

使用 Thermal Desktop 进行航天器热分析

介绍 将航天器保持在运行温度下的轨道上是一个具有挑战性的问题。航天器需要处理太空非常寒冷的背景温度&#xff0c;同时还要管理来自内部组件、地球反照率和太阳辐射的高热负荷。航天器在轨道上可以进行的各种轨道机动使解决这个问题变得更加复杂。 Thermal Desktop 是一款…

【ESP32】ESP-IDF开发 | WiFi开发 | AP模式 + 基站连接例程

1. 简介 前面一篇讲了WiFi的基站模式&#xff0c;演示了怎么编程连接AP&#xff0c;所以这一篇讲一讲AP模式&#xff0c;ESP32作AP&#xff0c;让其他的设备连接自己。 1.1 DHCP 这里需要补充一个知识点——DHCP服务器。当基站连接一个AP时&#xff0c;会被分配一个IP&#xf…

nss刷题3

[SWPUCTF 2022 新生赛]webdog1__start level1&#xff1a; 打开环境后什么也&#xff0c;没有&#xff0c;查看源码&#xff0c;看到第一关是MD5值&#xff0c;要get传参web&#xff0c;然后web的值的MD5和它原来值相等&#xff0c;0e开头的字符在php中都是0&#xff0c;传入…

如何使用C#与SQL Server数据库进行交互

一.创建数据库 用VS 创建数据库的步骤&#xff1a; 1.打开vs&#xff0c;创建一个新项目&#xff0c;分别在搜素框中选择C#、Windows、桌面&#xff0c;然后选择Windows窗体应用(.NET Framework) 2.打开“视图-服务器资源管理器”&#xff0c;右键单击“数据连接”&#xff0…

用户中心项目教程(二)---umi3的使用出现的错误

目录 1.情况的说明 2.遇到的问题 1&#xff09;第一个问题-关于npx的使用 2&#xff09;第二个问题--unsupport问题 3&#xff09;第三个收获--nodejs安装问题 4&#xff09;第四个收获---nvm下载问题 5&#xff09;第五个问题--尚未解决的问题 3.个人总结 1.情况的说明…

讲一下ZooKeeper的持久化机制?

大家好&#xff0c;我是锋哥。今天分享关于【讲一下ZooKeeper的持久化机制&#xff1f;】面试题。希望对大家有帮助&#xff1b; 讲一下ZooKeeper的持久化机制&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 ZooKeeper 是一个开源的分布式协调服务&…

【青蛙过河——思维】

题目 图解 代码 #include <bits/stdc.h> using namespace std; const int N 1e510; int n, x; int h[N]; bool check(int mid) {for(int i 1; i mid - 1 < n; i)if(h[i mid - 1] - h[i - 1] < 2 * x) return false;return true; } int main() {cin >> …

港湾周评|万科的多重压力

《港湾商业观察》李镭 成立于1984年&#xff0c;经营了41年之久的行业模范生与明星房企&#xff0c;万科&#xff08;000002.SZ&#xff1b;02202.HK&#xff09;似乎从未遇到过这样的惊天骇浪。 一方面债务承压&#xff0c;2025年是否能妥善解决&#xff0c;又或是终将“暴雷…

搜维尔科技:Xsens人形机器人解决方案的优势

Xsens 致力于推动人形机器人技术的发展&#xff0c;塑造机器人与人类环境无缝融合的未来&#xff0c;通过创新精确和协作&#xff0c;协助生产和服务&#xff0c;改善人类生活和产业。 Xsens通过人形跟随捕捉详细的人体运动数据&#xff0c;使机器人能够学习类人的动作&#x…

LLM - 大模型 ScallingLaws 的 C=6ND 公式推导 教程(1)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/145185794 Scaling Laws (缩放法则) 是大模型领域中&#xff0c;用于描述 模型性能(Loss) 与 模型规模N、数据量D、计算资源C 之间关系的经验规律…

数组常见解决方案

数组常见解决方案 1.快慢指针(双指针) 慢指针记录当前位置 快指针寻找下一个符合条件的数 当符合条件时,此数将slow位置的数覆盖,slow指针指向下一个位置. 最后slow的位置就是符合条件的数组的长度. 80. 删除有序数组中的重复项 II - 力扣&#xff08;LeetCode&#xff09; …

智能学习平台系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装智能学习平台系统软件来发挥其高效地信息处理的作用&#…