2016-05-14 110 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

相關問題