docker自动更新容器镜像并重启脚本

docker中某个容器使用的镜像时常更新,要运行最新的镜像需要定时更新,写个shell脚本包含停止删除容器,删除镜像,拉取最新镜像并重启容器,定时执行这个脚本就可以了。

这里以镜像wcjiang/reference:latest为例:

#!/bin/bash
echo "(date +"%Y-%m-%d %H:%M:%S") - docker stop && rm reference"
docker stop reference
docker rm reference
echo "(date +"%Y-%m-%d %H:%M:%S") - docker image rm wcjiang/reference:latest"
docker image rm wcjiang/reference:latest
echo "(date +"%Y-%m-%d %H:%M:%S") - docker run --name reference --rm -d -p 9667:3000 wcjiang/reference:latest"
docker run --name reference -d -p 9667:3000 wcjiang/reference:latest
docker ps | grep reference
echo "(date +"%Y-%m-%d %H:%M:%S") - update docker image done."

crontab定时脚本:

# 每周一3点
0 3 * * 1 bash /root/shell/doc_auto_update.sh >> /root/shell/logs/doc-update-$(date +\%Y).log 2>&1

单个容器的话这样是可以的,但如果要同时管理多个容器的自动更新,这样用脚本 + 定时任务来更新容器显然是繁琐的,更优雅的办法应该是使用这个叫watchtower的工具:containrrr/watchtower

docker自动更新容器镜像并重启脚本

原文链接:https://beltxman.com/4007.html,若无特殊说明本站内容为 行星带 原创,未经同意禁止转载。

发表评论

您的电子邮箱地址不会被公开。

Scroll to top