2016-07-06 32 views
3

我对Docker世界相当陌生。我运行这个命令:为什么Docker在“发送上下文到守护进程”步骤中花费很长时间?

docker build -t worker -f worker-Dockerfile-local .

这是泊坞窗文件的内容:

FROM centos 
MAINTAINER MyTeam 

RUN /usr/bin/getent group worker || /usr/sbin/groupadd -r worker 
RUN /usr/bin/getent passwd worker || /usr/sbin/useradd -r -g worker -s /sbin/nologin worker 

# INSTALL PIP 
RUN curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" 
RUN python get-pip.py 


ADD . /code 
RUN pip install ./code 

我得到这个消息开始此命令后:

Sending build context to Docker daemon 2.942 GB

我其他版本只需要几秒钟,“发送上下文到守护进程”阶段只发送几KB的数据。我不确定发生了什么事。有人可以帮我吗?

+3

你目前的工作目录还有什么? (如果你在Linux/OS上,则为'ls -lah')。 – johnharris85

+1

@JHarris:有一个测试数据文件,我不小心把它放在工作目录中。这是造成问题的原因。 – Bhushan

回答

5

我解决了它,愚蠢的错误。

看起来像Docker构建了当前工作目录(即包含dockerfile的文件夹)。然后将其上传到Docker Daemon进行构建步骤。我偶然在工作目录中放置了一个大的测试数据文件(2.9 GB)。这正在包含在构建上下文中。删除后,事情恢复正常。

+6

您也可以将此文件添加到'.dockerignore'。 – Opal

+0

@Opal:是的,这也是一个不错的选择。请记住。 – Bhushan