如何使用Dockerfile构builddocker-build?

我build立docker形象。 但它不成功。

/Users/username/.vim存在于我的主机操作系统,但它不成功。 我如何才能成功dockerbuild设?

错误信息:

Step 16 : ADD /Users/username/.vim/ /root/.vim lstat Users/username/.vim/: no such file or directory
Step 16 : ADD /Users/username/.vim/ /root/.vim lstat Users/username/.vim/: no such file or directory 

以下是我的Dockerfile。

Dockerfile:

FROM ubuntu:latest MAINTAINER MyName RUN /bin/bash RUN mkdir ~/cworks RUN mkdir ~/pyworks RUN apt-get -y update RUN apt-get -y install curl RUN apt-get -y install clang RUN apt-get -y install man RUN apt-get -y install vim RUN apt-get -y install python3 RUN apt-get -y install git RUN apt-get -y install make RUN apt-get -y upgrade RUN curl -kL https://bootstrap.pypa.io/get-pip.py | python3 ADD /Users/username/.vim/ /root/.vim ADD /Users/username/.vimrc /root/.vimrc
FROM ubuntu:latest MAINTAINER MyName RUN /bin/bash RUN mkdir ~/cworks RUN mkdir ~/pyworks RUN apt-get -y update RUN apt-get -y install curl RUN apt-get -y install clang RUN apt-get -y install man RUN apt-get -y install vim RUN apt-get -y install python3 RUN apt-get -y install git RUN apt-get -y install make RUN apt-get -y upgrade RUN curl -kL https://bootstrap.pypa.io/get-pip.py | python3 ADD /Users/username/.vim/ /root/.vim ADD /Users/username/.vimrc /root/.vimrc 

平台:OS X 10.11.4

您不能在不在包含您的Dockerfile的目录内的文件上执行ADD(或COPY)。

其原因是build立docker图像意味着是一个确定性的构build。 如果我用Dockerfile在我的计算机上构buildDockerimage,我会得到一个不同的.vim docker团队施加这个限制来鼓励人们使用自包含的目录和Dockerfile以及任何要添加到其中的文件。

在你的情况下,你需要先将文件复制到Dockerfile的同一个目录下,然后运行:

 ADD .vim /root/.vim 

或者可以说更好:

 COPY .vim /root/.vim 

改用这个forms。 它适用于隐藏文件(点文件)和文件名包含空格。

 ADD ["/Users/username/.vim/", "/root/.vim"] 

https://docs.docker.com/engine/reference/builder/#/add

.vim后删除尾部的斜线

所以,它会一样

ADD /Users/username/.vim /root/.vim