我正在运行docker build并且运行时间非常长.事实上,它没有完成,我必须CTRL C退出.
昨晚事情进展顺利.当我回到电脑并试图重建它开始表现奇怪.
这是我的命令:
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,因此它不应该触及该目录.
在那之后我遇到了一个错误,所以我修复了它并重新:
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
I have no idea why the file size was 213.8. The only directory that is large is node_modules and that contains .dockerignore so it shouldn’t be touching that directory.
这不是.dockerignore如何运作. .dockerignore文件应与Dockerfile位于同一目录中,并列出要忽略的模式.在后端创建一个名为.dockerignore的文件,该文件只包含node_modules行.
有关更多信息,请参见此处:https://docs.docker.com/engine/reference/builder/#dockerignore-file