我在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
答案 0 :(得分:0)
Dockerfile data.location = newValue.location
data.transactions = newValue.transactions
命令只能引用上下文中的文件-Dockerfile的当前位置,也称为COPY
所以您现在有一些选择:
,如果有可能在构建之前将/ home / ubuntu / authentication / workspace /目录内容复制到项目内部的某个位置(因此现在它将包含在Dockerfile上下文中,您可以通过{ {1}})。但有时您不想要它。
而不是复制目录,而是通过卷将其绑定到您的容器:
运行容器时,添加一个.
选项:
COPY ./path/to/content /home/ubuntu
请注意,已设计了卷,因此您在容器dir(/ home / ubuntu)内进行的任何更改都会影响主机端的绑定目录(/ home / ubuntu / authentication / workspace),反之亦然。
我在here上发现了一个问题:这个家伙正在强迫Dockerfile接受他的上下文-他坐在/ home / ubuntu / authentication / workspace /目录中,并在其中运行
-v
现在,在他的Dockerfile中,他可以将/ home / ubuntu / authentication / workspace称为上下文(docker run [....] -v /home/ubuntu/authentication/workspace:/home/ubuntu [...]
)