一尘不染

使用Jenkins管道构建Docker映像时如何解决“无法从Docker检索.Id”

jenkins

我正在使用Jenkins管道来构建Dockerfile。

泊坞窗文件成功完成所有步骤,并创建了泊坞窗映像。

如图所示:

Step 16/19 : FROM base AS final
 ---> <id>
Step 17/19 : WORKDIR /app
 ---> Using cache
 ---> <id>
Step 18/19 : COPY --from=publish /app .
 ---> Using cache
 ---> <id>
Step 19/19 : ENTRYPOINT ["", "myapp.dll"]
 ---> Using cache
 ---> <id>
Successfully built cb3y81938e88
Successfully tagged myapp:latest

但是,此后,shell失败并显示以下错误:

java.io.IOException: Cannot retrieve .Id from 'docker inspect base AS final'

尽管成功构建了docker镜像,为什么仍会引发此错误?当我在本地计算机上执行此命令时,命令在“成功标记myapp:latest”上退出

我的Docker版本是18.03.1-ce。

在这个问题上的任何帮助将不胜感激!


阅读 491

收藏
2020-07-25

共1个答案

一尘不染

该Jenkins插件似乎存在一个错误。

您可以尝试删除多阶段构建名称(AS final不需要时使用“ “”):

FROM base
(....)

但是,如果您确实需要引用以前构建的映像(多阶段),则可以使用一种解决方法--copy-from 0(对应于0,1,2,而不是别名)

詹金斯中的相关问题


编辑

在此处记录OP找到的解决方案:

我不是通过使用Jenkinsfile管道文件来工作的,而是在Jenkins作业中执行Shell来执行Docker build命令。(docker
build -t Latest-build)

2020-07-25