【Docker管理工具】安装Docker容器自动更新工具Watchtower

【Docker管理工具】安装Docker容器自动更新工具Watchtower

一、Watchtower介绍

1.1 Watchtower简介

Watchtower可以自动执行 Docker 容器基础映像更新的过程。Watchtower 将拉下您的新映像,优雅地关闭现有容器,然后使用最初部署时使用的相同选项重新启动它。

1.2 Watchtower使用注意

  • Watchtower 旨在用于家庭实验室、媒体中心、本地开发环境等,请不要使用在生产环境。

1.3 Watchtower使用场景

Watchtower主要用于个人环境下自动更新家庭个人服务器中的容器应用。但在生产环境中不适合使用该工具,而是应该使用像Kubernetes这样的容器管理工具。Kubernetes提供了自动更新容器的功能,通过设置滚动更新策略,可以在容器更新时保证应用的高可用性。因此,在生产环境中应考虑使用Kubernetes来进行容器管理和自动更新的功能。

1.4 Docker容器介绍

Docker容器是一种轻量级的虚拟化技术,用于将应用程序和其依赖项打包在一个可移植的容器中。容器通过隔离应用程序的运行环境,使其可以在不同的操作系统和硬件平台上运行。与传统的虚拟机相比,Docker容器更加轻量级和可移植。Docker容器共享主机操作系统的内核,因此可以在同一个主机上同时运行多个容器,而不像虚拟机需要为每个虚拟机分配一定的资源和独立的操作系统。这使得容器在资源利用和性能方面更加高效。Docker容器提供了一个灵活且可控的环境,可以在任何地方运行应用程序,并且能够快速部署和扩展应用程序。它可以帮助开发人员简化应用程序的交付和部署,并提供了更高效的资源利用和更好的可移植性。

二、本次实践介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 2 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;2.在Docker环境下使用Docker容器自动更新工具Watchtower。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]#  systemctl status docker ● docker.service - Docker Application Container Engine    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)    Active: active (running) since Tue 2023-12-19 13:51:24 CST; 23h ago      Docs: https://docs.docker.com  Main PID: 11579 (dockerd)     Tasks: 23    Memory: 605.0M    CGroup: /system.slice/docker.service 

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701 

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version Docker Compose version v2.6.0 

四、下载Watchtower镜像

从docker hub拉取Watchtower镜像

[root@jeven ~]# docker pull containrrr/watchtower Using default tag: latest latest: Pulling from containrrr/watchtower e0c7a3e4c313: Pull complete db1b75c6d82b: Pull complete 5bdc0dfc1598: Pull complete Digest: sha256:3283e0b5be326d77ff4f4e8b7a91d46aaa1d511c74877b5a32f161548812d00c Status: Downloaded newer image for containrrr/watchtower:latest docker.io/containrrr/watchtower:latest 

五、Watchtower的基本使用

5.1更新宿主机的所有容器

使用以下命令,更新宿主机的所有容器,也包括 Watch­tower 本身。

docker run -d       --name watchtower      --volume /var/run/docker.sock:/var/run/docker.sock      containrrr/watchtower 

5.2 指定某个容器进行监视

如果指向监视某一个容器进行自定更新,则在上述命令后面加上容器名即可。

docker run -d      --name watchtower      -v /var/run/docker.sock:/var/run/docker.sock      containrrr/watchtower      miniboard 
【Docker管理工具】安装Docker容器自动更新工具Watchtower

5.3 指定容器的更新频率

Watchtower 默认情况下 24 小时会检查一次镜像更新。设置–interval 选项更新时间,默认单位秒。

docker run -d      --name watchtower      -v /var/run/docker.sock:/var/run/docker.sock      containrrr/watchtower      --interval 6 
【Docker管理工具】安装Docker容器自动更新工具Watchtower

可以使用–schedule选项, 设定定时更新任务,定时任务为6 字段来表示执行时间,第一个字段表示秒。

docker run -d      --name watchtower      -v /var/run/docker.sock:/var/run/docker.sock      containrrr/watchtower      --schedule "0 30 20 * * 5" 

表示每周五晚上8点半点检查一次。

【Docker管理工具】安装Docker容器自动更新工具Watchtower

5.4 自定清理旧镜像

可以使用–cleanup 选项,这样每次更新都会把旧的镜像清理掉。

docker run -d      --name watchtower      -v /var/run/docker.sock:/var/run/docker.sock      containrrr/watchtower      --cleanup 

用于清理无用的Docker卷。它会删除所有没有关联到任何容器的卷,以释放磁盘空间。

docker volume prune 




原文始发于微信公众号(运维江湖客):【Docker管理工具】安装Docker容器自动更新工具Watchtower

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/225027.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!