2016-05-14 59 views
1

我建立码头图像。但它并不成功。如何使用Dockerfile构建docker-build?

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

错误消息:

 

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 
 

平台:OS X 10.11.4

+1

建议使用COPY来代替ADD(除了在某些特定的情况下)。看看这个博客: https://www.ctl.io/developers/blog/post/dockerfile-add-vs-copy/ –

回答

4

你无法执行ADD(或COPY)一个不在包含Dockerfile的目录中的文件。

其原因是建筑码头图像是一个确定性的构建。如果我用Dockerfile在我的计算机上构建Dockerimage,我会得到一个不同的.vim Docker团队施加此限制是为了鼓励人们使用包含Dockerfile的自包含目录以及添加到其中的任何文件。

在你的情况,你将需要复制该文件在Dockerfile的同一目录第一,然后运行:

ADD .vim /root/.vim 

或者可以说是更好的:

COPY .vim /root/.vim 
-1

请删除拖尾斜杠后.vim

所以,它会为

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

+0

我删除了斜杠,但问题还没有解决。 – KiYugadgeter

+0

请使用https://beta.docker.com/,它会拖放码头机器并使码头工人在OSX上使用更加舒适。 – chaintng

相关问题