如何使docker失败或检查版本存在
我有maven运行bash来与Docker构build一些东西。
<plugin> ... <artifactId>maven-antrun-plugin</artifactId> ... <exec executable="${basedir}/generate.sh" failonerror="true"> <arg value="${thrift.version}" /> ...
bash脚本运行如下所示:
for file in src/main/thrift/*.thrift; do echo "Compiling ${file}" docker run {...} thrift:${THRIFT_VERSION} thrift {...} done
我的问题是,当Docker无法find我请求的版本时,它在控制台中显示错误,但它不会“失败”:它只是不断的build立。
[exec] Compiling src/main/thrift/amsException.thrift [exec] docker: Tag 0.9.0 not found in repository docker.io/library/thrift. [exec] See 'docker run --help'. [exec] Unable to find image 'thrift:0.9.0' locally
因此maven说
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
我无法find版本时,如何让Docker抛出错误? 我的最终目标是Maven未能在发生这种情况时进行清理安装。
干杯!
您可以检查docker run
退出代码。 如果不是0,则中止脚本。
for file in src/main/thrift/*.thrift; do echo "Compiling ${file}" docker run {...} thrift:${THRIFT_VERSION} thrift {...} if [ $? != 0 ]; then exit -1 fi done