最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

为什么我的容器继续建设同一层?

IT培训 admin 7浏览 0评论

为什么我的容器继续建设同一层?

下面的容器目前未能在第二轮之后。在尝试调试它,我必须再次运行。

FROM node:10-alpine

# Create app directory
WORKDIR /usr/src/app

# Copy app
COPY . .

# USER root 
# install packages
RUN apk --no-cache --virtual build-dependencies add \
   git \ 
   python \ 
   make \ 
   g++ \ 
   && npm config set user 0 \
   && npm config set unsafe-perm true \
   && npm i -g wait-on concurrently  [email protected]\
   && npm install \
   && apk del build-dependencies

RUN truffle compile --all // FAILS HERE

# Expose the right ports, the commands below are irrelevant when using a docker-compose file.
EXPOSE 3000
CMD ["npm", "run", "server"] 

每当我重建容器,它开始从第一次运行,这使得该过程较长接管。

我泊坞窗的理解是,在集装箱层应该被缓存,如果一个文件只更改重建?

我希望在这个指针。

回答如下:

在一个Dockerfile每个指令导致的图像层(除少数例外),和图像层被用作高速缓存时生成。但是,一旦一个层被无效,所有后续层必须重建。

在您的例子,如果在差异COPY . .指令的结果,那么下面RUN apk ...指令也将失效,从而导致无法重新运行。

我建议安装的高山包你在你的项目中复制文件之前,然后该干嘛NPM安装后。

为什么我的容器继续建设同一层?

下面的容器目前未能在第二轮之后。在尝试调试它,我必须再次运行。

FROM node:10-alpine

# Create app directory
WORKDIR /usr/src/app

# Copy app
COPY . .

# USER root 
# install packages
RUN apk --no-cache --virtual build-dependencies add \
   git \ 
   python \ 
   make \ 
   g++ \ 
   && npm config set user 0 \
   && npm config set unsafe-perm true \
   && npm i -g wait-on concurrently  [email protected]\
   && npm install \
   && apk del build-dependencies

RUN truffle compile --all // FAILS HERE

# Expose the right ports, the commands below are irrelevant when using a docker-compose file.
EXPOSE 3000
CMD ["npm", "run", "server"] 

每当我重建容器,它开始从第一次运行,这使得该过程较长接管。

我泊坞窗的理解是,在集装箱层应该被缓存,如果一个文件只更改重建?

我希望在这个指针。

回答如下:

在一个Dockerfile每个指令导致的图像层(除少数例外),和图像层被用作高速缓存时生成。但是,一旦一个层被无效,所有后续层必须重建。

在您的例子,如果在差异COPY . .指令的结果,那么下面RUN apk ...指令也将失效,从而导致无法重新运行。

我建议安装的高山包你在你的项目中复制文件之前,然后该干嘛NPM安装后。

发布评论

评论列表 (0)

  1. 暂无评论