Docker 在 gitlab 管道中复制新创建的文件失败
Docker COPY newly created file in gitlab pipeline fails
我的 Dockerfile 包含一个 COPY 命令,用于复制刚刚在管道中创建的目录。
COPY ["$CI_PROJECT_DIR/ui-dist/", "/content/ui-dist/"]
COPY 命令失败并出现以下错误:
COPY failed: stat /var/lib/docker/tmp/docker-builder597514812/ui-dist: no such file or directory
但是,我知道该目录存在,因为就在我构建图像之前,ls $CI_PROJECT_DIR/ui-dist
打印 bundle.js
跑步者正在使用 dind 服务。我不确定这是否相关。
编辑:
好的,我尝试删除对 env 变量的引用。即我将管道从
更改为
- docker cp ui:/content/dist $CI_PROJECT_DIR/ui-dist
- docker build --tag ${IMAGE_ID} api
到
- docker cp ui:/content/dist ui-dist
- docker build --tag ${IMAGE_ID} api
并且我已将 docker 命令更新为
COPY ["ui-dist/", "/content/ui-dist/"]
我仍然收到此错误消息:
COPY failed: stat /var/lib/docker/tmp/docker-builder488922739/ui-dist: no such file or directory
我明白了。我必须将资产复制到 Dockerfile 所在的 api 文件夹中。
docker 构建发生在 /builds/$CI_PROJECT_PATH/
。
因此,必须将资产复制到 /builds/$CI_PROJECT_PATH/api
我的 Dockerfile 包含一个 COPY 命令,用于复制刚刚在管道中创建的目录。
COPY ["$CI_PROJECT_DIR/ui-dist/", "/content/ui-dist/"]
COPY 命令失败并出现以下错误:
COPY failed: stat /var/lib/docker/tmp/docker-builder597514812/ui-dist: no such file or directory
但是,我知道该目录存在,因为就在我构建图像之前,ls $CI_PROJECT_DIR/ui-dist
打印 bundle.js
跑步者正在使用 dind 服务。我不确定这是否相关。
编辑:
好的,我尝试删除对 env 变量的引用。即我将管道从
更改为- docker cp ui:/content/dist $CI_PROJECT_DIR/ui-dist
- docker build --tag ${IMAGE_ID} api
到
- docker cp ui:/content/dist ui-dist
- docker build --tag ${IMAGE_ID} api
并且我已将 docker 命令更新为
COPY ["ui-dist/", "/content/ui-dist/"]
我仍然收到此错误消息:
COPY failed: stat /var/lib/docker/tmp/docker-builder488922739/ui-dist: no such file or directory
我明白了。我必须将资产复制到 Dockerfile 所在的 api 文件夹中。
docker 构建发生在 /builds/$CI_PROJECT_PATH/
。
因此,必须将资产复制到 /builds/$CI_PROJECT_PATH/api