布朗尼指出了@mbarthelemy和@amuino,他们使我步入正轨。由此,我提出了以下bash脚本,其他人可能会觉得有用。它只是检查注册表上的标记是否与当前正在执行的容器不同。
#!/bin/bash# ensure running bashif ! [ -n "$BASH_VERSION" ];then echo "this is not bash, calling self with bash...."; script=$(readlink -f "$0") /bin/bash $script exit;fiREGISTRY="my.registry.com:5000"REPOSITORY="awesome-project-of-awesomeness"LATEST="`wget -qO- http://$REGISTRY/v1/repositories/$REPOSITORY/tags`"LATEST=`echo $LATEST | sed "s/{//g" | sed "s/}//g" | sed "s/"//g" | cut -d ' ' -f2`RUNNING=`docker inspect "$REGISTRY/$REPOSITORY" | grep Id | sed "s/"//g" | sed "s/,//g" | tr -s ' ' | cut -d ' ' -f3`if [ "$RUNNING" == "$LATEST" ];then echo "same, do nothing"else echo "update!" echo "$RUNNING != $LATEST"fi


