首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多级码头建设中,应该删除WORKDIR吗?

在多级码头建设中,应该删除WORKDIR吗?
EN

DevOps用户
提问于 2020-12-10 15:25:45
回答 1查看 73关注 0票数 0

我的Dockerfile包含以下内容:

代码语言:javascript
复制
### 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)的内容应该删除吗?

EN

回答 1

DevOps用户

回答已采纳

发布于 2020-12-10 18:17:23

当使用Dockerfile创建图像时,将为每个步骤创建停靠层。层的描述可以在正式的码头页面上找到。

因此,在使用多级创建映像时,引入了一个新的构建步骤,该步骤可以在FROM语句中使用别名命名,并且删除了通过最后一个FROM语句创建的图像层以外的所有层。

生成图像后,检查包含WORKDIR的层是否存在,是否使用对接图像检查。我认为您可能知道每个步骤的唯一层值。

您可以看到图像与哪些层相一致。例如,

代码语言:javascript
复制
$docker image inspect [OPTIONS] 464503b73bfe # IMAGE
[
    {
        "Id": "sha256:464bf1...46c",
        ...

        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:26711...8fcf",
                "sha256:6c5a51...56e0"
            ]
        },
        ...
票数 2
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/12956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档