docker 添加命令无法添加作为参数传递给它的路径
docker add command fails to add the path passed as argument to it
我有一个 Dockerfile
我想在 jenkins maven build 之后构建和推送它。我的 Dockerfile
:
中有这些行
...
ARG MAIN_DIR
ADD $MAIN_DIR .
...
然后我按如下方式传递 MAIN_DIR
参数:
docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag --build-arg MAIN_DIR=Development .
但我得到:
ADD failed: stat /var/lib/docker/tmp/docker-builder832988213/Development: no such file or directory
编辑 1:
COPY $MAIN_DIR .
产生同样的问题。
编辑 2:
当前目录实际上包含一个名为Development
的目录,我完全确定整个项目中没有.dockerignore
文件。
根据我们的聊天讨论,您正在使用的 Dockerfile 位于 Development 目录下,您正在使用下方构建映像
docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag --build-arg MAIN_DIR=Development --build-arg VERSION=1.0.0 path/to/Docker/context/dir
你的pwd
是
/home/jenkins/.jenkins/workspace/Project-Name
因此,当您将上下文目录作为包含 Dockerfile 的目录发送时,只有该目录的内容会作为上下文发送到 docker 守护程序。开发文件夹位于父层次结构中。因此,您将无法访问上下文文件夹之上或之外的任何内容。
解决方案是使用与 Dockerfile 分开的上下文目录
docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag --build-arg MAIN_DIR=Development --build-arg VERSION=1.0.0 -f path/to/docker/directory/Dockerfile path/to/projectdirectory
我有一个 Dockerfile
我想在 jenkins maven build 之后构建和推送它。我的 Dockerfile
:
...
ARG MAIN_DIR
ADD $MAIN_DIR .
...
然后我按如下方式传递 MAIN_DIR
参数:
docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag --build-arg MAIN_DIR=Development .
但我得到:
ADD failed: stat /var/lib/docker/tmp/docker-builder832988213/Development: no such file or directory
编辑 1:
COPY $MAIN_DIR .
产生同样的问题。
编辑 2:
当前目录实际上包含一个名为Development
的目录,我完全确定整个项目中没有.dockerignore
文件。
根据我们的聊天讨论,您正在使用的 Dockerfile 位于 Development 目录下,您正在使用下方构建映像
docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag --build-arg MAIN_DIR=Development --build-arg VERSION=1.0.0 path/to/Docker/context/dir
你的pwd
是
/home/jenkins/.jenkins/workspace/Project-Name
因此,当您将上下文目录作为包含 Dockerfile 的目录发送时,只有该目录的内容会作为上下文发送到 docker 守护程序。开发文件夹位于父层次结构中。因此,您将无法访问上下文文件夹之上或之外的任何内容。
解决方案是使用与 Dockerfile 分开的上下文目录
docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag --build-arg MAIN_DIR=Development --build-arg VERSION=1.0.0 -f path/to/docker/directory/Dockerfile path/to/projectdirectory