sh Docker撰写更新程序Bash脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh Docker撰写更新程序Bash脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash

lastReleasesUrl="https://github.com/docker/compose/releases.atom"
lastReleaseCache="/tmp/docker-compose-last-release"

if [ -f '/usr/local/bin/docker-compose' ]; then 
    currentDockerComposeVersion=$(docker-compose -v | egrep -o '([0-9]\.[0-9]\.[0-9])')
else 
    currentDockerComposeVersion="0.0.0"
fi

if [ ! -f $lastReleaseCache ] || [ "$(( $(date +"%s") - $(stat -c "%Y" $lastReleaseCache) ))" -gt "86400" ]; then
    echo 'Aktualisiere docker-compose versionscache'
    wget -q -O- $lastReleasesUrl | \
        egrep -m1 -o '/docker/compose/releases/tag/([0-9]\.[0-9]\.[0-9])' | \
        egrep -o '([0-9]\.[0-9]\.[0-9])' \
            > $lastReleaseCache
fi

latestDockerComposeVersion=$(cat $lastReleaseCache)

if [ $latestDockerComposeVersion != $currentDockerComposeVersion ]; then
    echo "Aktualisiere docker-compose auf Version ${latestDockerComposeVersion}"
    curl -L https://github.com/docker/compose/releases/download/${latestDockerComposeVersion}/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose && \
        mv /tmp/docker-compose /usr/local/bin && \
        chmod +x /usr/local/bin/docker-compose && \
        chown root:root /usr/local/bin/docker-compose
else
    echo 'Keine docker-compose Aktualisierung nötig'
fi

以上是关于sh Docker撰写更新程序Bash脚本的主要内容,如果未能解决你的问题,请参考以下文章

sh 用于将所有docker镜像备份到文件的bash脚本

docker进入式 执行sh

docker第三次任务bash脚本,chomd权限

运行 bash 脚本的 docker 入口点得到“权限被拒绝”

如何在 Alpine Docker 容器中运行 Bash 脚本?

docker容器启动时执行脚本 run /bin/bash执行多条指令