使用流水线构建和上传容器镜像时提示“no such file or directory”错误

问题描述

使用流水线进行容器镜像构建与上传失败提示“no such file or directory”,即进行Dockerfile中的COPY操作时找不到对应的文件。

问题原因

出现该问题的可能原因有以下2种:

  • 在云效控制台的流水线页面中,构建和制作镜像上传不在同一个阶段。
  • 配置镜像构建与上传的Dockerfile路径和ContextPath配置不正确,导致Dockerfile内容编写出现问题,即相对路径与镜像构建的工作空间路径不匹配。

解决方案

根据问题原因选择对应的解决方法:

  • 登录云效控制台,选择研发,然后单击流水线,单击目标流水线右侧的编辑,将构建步骤和制作镜像上传步骤放在一起执行。
  • 根据ContextPath查看Docker构建工作空间,确认相对路径正确。如果ContextPath设置的是.或者不填,则表示代码库的根路径,使用相对路径的命令如下所示。如果ContextPath设置是target的话,Dockerfile中代码相对路径就是mubin-springboot.war
    COPY target/mubin-springboot.war /root/mubin-springboot.war

适用于

  • 云效

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。