2016-05-22 152 views
2

我正在運行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之一:在Ubuntu 14.04

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

我跑碼頭工人

+0

當你'泊塢窗build'你在一個目錄,只爲打造泊塢窗所需的文件?我通常做'mkdir myproject; cd myproject; emacs Dockerfile' – user2915097

回答

3

我不知道爲什麼文件大小是213.8。唯一很大的目錄是node_modules,它包含.dockerignore,因此它不應該觸及該目錄。

這不是.dockerignore的工作方式。 .dockerignore文件應位於與Dockerfile相同的目錄中,並列出要忽略的模式。在backend中創建一個名爲.dockerignore的文件,其中僅包含行node_modules

在這裏看到更多的信息:https://docs.docker.com/engine/reference/builder/#dockerignore-file

相關問題