为什么dockerbuild设需要这么长时间才能运行?

我正在运行docker构build,它需要很长时间才能运行。 事实上,它不完成,我不得不CTRL + C退出。

昨晚的事情工作正常。 当我回到电脑,并试图重build,开始performance奇怪。

这是我的命令:

docker build -t mywebsite/backend . 

当我跑它时我注意到了这一点:

 Sending build context to Docker daemon 213.8 MB Step 1 : FROM ubuntu:14.04 

我不知道为什么文件大小是213.8。 唯一大的目录是node_modules ,它包含.dockerignore所以它不应该触及那个目录。

之后,我有一个错误,所以我解决它,并reran:

 docker build -t mywebsite/backend . 

这一次它挂了。 并继续这样做。

这是我的Dockerfile

 FROM ubuntu:14.04 # Set env. variables ENV DEBIAN_FRONTEND noninteractive # Application ENV APP_PORT 3000 # Amazon ENV AMAZON_BUCKET mybucket ENV AMAZON_ACCESS_KEY_ID mykey ENV AMAZON_SECRET_ACCESS_KEY mytoken # Set working directory WORKDIR ~/vms # Install NodeJS RUN apt-get update; apt-get install -y curl; RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - RUN apt-get install -y nodejs # Install node dependencies ADD package.json package.json RUN npm install --production # Copy files to the container ADD src src EXPOSE 3000 # Start application RUN npm start 

我在运行命令时所在的目录是包含Dockerfile的目录:

 - backend - node_modules - src - config - routes - views index.js Dockerfile package.json 

我在Ubuntu 14.04上运行docker

我不知道为什么文件大小是213.8。 唯一大的目录是node_modules,它包含.dockerignore,所以它不应该触及那个目录。

这不是如何.dockerignore作品。 .dockerignore文件应该和Dockerfile在同一个目录中,并列出要忽略的模式。 在backend创build一个名为.dockerignore的文件, .dockerignore包含行node_modules

查看更多信息: https : //docs.docker.com/engine/reference/builder/#dockerignore-file