解决 docker 文件中 COPY 命令中的目录路径错误
Troubleshoot directory path error in COPY command in docker file
我在 ubuntu 16.04 之上的 docker 文件中使用 COPY 命令。尽管目录存在,但我收到错误消息,因为没有这样的文件或目录。在下面的 docker 文件中,我想将工作区目录中存在的目录 "auth" 复制到 docker 图像(在路径 /home/ubuntu 处),然后构建图像。
FROM ubuntu:16.04
RUN apt-get update
COPY /home/ubuntu/authentication/workspace /home/ubuntu
WORKDIR /home/ubuntu/auth
a Dockerfile COPY
命令只能引用上下文下的文件 - Dockerfile 的当前位置,又名 .
所以你现在有几个选择:
如果可以在构建之前将 /home/ubuntu/authentication/workspace/ 目录内容复制到项目内部的某个位置(所以现在它将包含在您的 Dockerfile 上下文中,您可以通过COPY ./path/to/content /home/ubuntu
) 它可以很棒。但有时你并不想要它。
不是复制目录,而是通过卷将其绑定到您的容器:
当你 运行 容器时,添加一个 -v
选项:
docker run [....] -v /home/ubuntu/authentication/workspace:/home/ubuntu [...]
请注意,卷是这样设计的,因此您在容器目录 (/home/ubuntu) 中所做的任何更改都会影响主机端的绑定目录 (/home/ubuntu/authentication/workspace),反之亦然。
我在 here 上发现了一些东西:这个人强迫 Dockerfile 接受他的上下文——他坐在 /home/ubuntu/authentication/workspace/ 目录中,并且 运行在那里
docker build . -f /path/to/Dockerfile
所以现在在他的 Dockerfile 中他可以引用 /home/ubuntu/authentication/workspace 作为他的上下文 (.
)
我在 ubuntu 16.04 之上的 docker 文件中使用 COPY 命令。尽管目录存在,但我收到错误消息,因为没有这样的文件或目录。在下面的 docker 文件中,我想将工作区目录中存在的目录 "auth" 复制到 docker 图像(在路径 /home/ubuntu 处),然后构建图像。
FROM ubuntu:16.04
RUN apt-get update
COPY /home/ubuntu/authentication/workspace /home/ubuntu
WORKDIR /home/ubuntu/auth
a Dockerfile COPY
命令只能引用上下文下的文件 - Dockerfile 的当前位置,又名 .
所以你现在有几个选择:
如果可以在构建之前将 /home/ubuntu/authentication/workspace/ 目录内容复制到项目内部的某个位置(所以现在它将包含在您的 Dockerfile 上下文中,您可以通过
COPY ./path/to/content /home/ubuntu
) 它可以很棒。但有时你并不想要它。不是复制目录,而是通过卷将其绑定到您的容器:
当你 运行 容器时,添加一个 -v
选项:
docker run [....] -v /home/ubuntu/authentication/workspace:/home/ubuntu [...]
请注意,卷是这样设计的,因此您在容器目录 (/home/ubuntu) 中所做的任何更改都会影响主机端的绑定目录 (/home/ubuntu/authentication/workspace),反之亦然。
我在 here 上发现了一些东西:这个人强迫 Dockerfile 接受他的上下文——他坐在 /home/ubuntu/authentication/workspace/ 目录中,并且 运行在那里
docker build . -f /path/to/Dockerfile
所以现在在他的 Dockerfile 中他可以引用 /home/ubuntu/authentication/workspace 作为他的上下文 (.
)