我的Dockerfile包含以下内容:
### STAGE 1: Build Angular app ###
FROM node:14.15 AS build
WORKDIR /usr/src/app
COPY src/hub/package.json ./
RUN npm cache verify
RUN npm install
COPY src/hub/ .
RUN npm run-script build-azdev
RUN npm prune --production
### STAGE 2: Run Angular app in nginx ###
FROM nginx:1.19-alpine
COPY /scripts/nginx/nginx.conf /etc/nginx/nginx.conf
RUN rm -rf /usr/share/nginx/html/*
COPY --from=build /usr/src/app/dist/* /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]一旦完成COPY --from=build /usr/src/app/dist/* /usr/share/nginx/html/,一旦完成第二阶段的构建,WORKDIR (/usr/src/app)的内容应该删除吗?
发布于 2020-12-10 18:17:23
当使用Dockerfile创建图像时,将为每个步骤创建停靠层。层的描述可以在正式的码头页面上找到。
因此,在使用多级创建映像时,引入了一个新的构建步骤,该步骤可以在FROM语句中使用别名命名,并且删除了通过最后一个FROM语句创建的图像层以外的所有层。
生成图像后,检查包含WORKDIR的层是否存在,是否使用对接图像检查。我认为您可能知道每个步骤的唯一层值。
您可以看到图像与哪些层相一致。例如,
$docker image inspect [OPTIONS] 464503b73bfe # IMAGE
[
{
"Id": "sha256:464bf1...46c",
...
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:26711...8fcf",
"sha256:6c5a51...56e0"
]
},
...https://devops.stackexchange.com/questions/12956
复制相似问题