如何使用Dockerfile进行docker-build?

时间:2016-05-14 05:25:56

标签: docker

我建造码头图像。但它没有成功。

/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

3 个答案:

答案 0 :(得分:5)

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

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

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

ADD .vim /root/.vim

或者可以说更好:

COPY .vim /root/.vim

答案 1 :(得分:1)

请改用此表格。它适用于隐藏文件(点文件),文件名包含空格。

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

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

答案 2 :(得分:-1)

请在.vim

之后删除尾部斜杠

所以,它将作为

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