我正在使用Jenkins管道来构建Dockerfile.
dockerfile成功完成所有步骤,并创建docker镜像.
如图所示:
Step 16/19 : FROM base AS final
--->
但是,在此之后,shell失败并出现以下错误:
java.io.IOException: Cannot retrieve .Id from 'docker inspect base AS final'
尽管成功构建了docker镜像,为什么会抛出此错误?
当我在本地计算机上执行此命令时,命令退出“成功标记myapp:latest”
我的码头版本是18.03.1-ce.
任何有关这个问题的帮助将不胜感激!
最佳答案
似乎Jenkins插件中存在一个错误.
原文链接:https://www.f2er.com/docker/436271.html您可以尝试删除多阶段构建名称(“AS final”,因为您不需要它):
FROM base
(....)
但是如果你真的需要引用以前构建的图像(多阶段),可以使用–copy – from 0(0,1,2,因为它对应,而不是别名)
jenkins的相关问题
> https://issues.jenkins-ci.org/browse/JENKINS-44789
> https://issues.jenkins-ci.org/browse/JENKINS-44609
> https://issues.jenkins-ci.org/browse/JENKINS-31507
编辑
在此记录OP发现的解决方案:
I got this working by not using the Jenkinsfile pipeline file,but instead executing a Shell within the Jenkins job to execute the Docker build command. (docker build -t latest-build .)