更新 docker 镜像脚本
PROJPATH
为 docker 项目根目录。PROJECTS
为指定的项目。
拉取最新镜像,并停止、启动。
若想定时更新,则添加定时器,重启定时器(教程在下述代码最后)。
every5days.sh
#!/usr/bin/env bash
set -e
update() {
PROJPATH="/root/dockers"
PROJECTS="acme minio"
echo "$PROJECTS" | tr ' ' '\n' | while read proj; do
pushd "$PROJPATH/$proj" > /dev/null 2>&1
docker compose pull
docker compose down
docker compose up -d
popd > /dev/null 2>&1
done
}
LOG_PATH="./5days.log"
echo >>$LOG_PATH
date >>$LOG_PATH
update >>$LOG_PATH
echo
##
# crontab
# /etc/cron.d/every5days
# 36 3 */5 * * root cd /root/shfiles; bash ./every5days.sh
##