更新 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
##