Docker:多阶段构建会产生多个映像
给出了这个多阶段构建的小示例Docker:多阶段构建会产生多个映像,docker,multistage,Docker,Multistage,给出了这个多阶段构建的小示例 FROM node:10 AS ui-build WORKDIR /usr/src/app FROM node:10 AS server-build WORKDIR /root/ EXPOSE 3070 ENTRYPOINT ["node"] CMD ["index.js"] 为什么这会在我的本地文件系统上产生3个映像 "<none>";"<none>";"58d63982fbef";"2020-04-15 17:53:14";"91
FROM node:10 AS ui-build
WORKDIR /usr/src/app
FROM node:10 AS server-build
WORKDIR /root/
EXPOSE 3070
ENTRYPOINT ["node"]
CMD ["index.js"]
为什么这会在我的本地文件系统上产生3个映像
"<none>";"<none>";"58d63982fbef";"2020-04-15 17:53:14";"912MB"
"node";"10";"bd83fcefc19d";"2020-04-14 01:32:21";"912MB"
"test";"latest";"3913dd4d03b6";"2020-04-15 17:53:15";"912MB"
那么,图像的哪些部分是无的,哪些是测试的
我感到困惑Dockerfile中的每个块都从行开始创建一个新图像。如果使用
docker build-t
选项,则只有最后一个阶段会使用指定的名称进行标记;剩余的块将显示为
,如docker images
输出
#节点:10是基础映像
#不是最终图像,将显示为:
来自节点:10作为ui构建
...
#最终图像将显示为test:latest(`docker build-t`选项)
来自节点:10作为服务器构建
...
您偶尔会看到docker文件,其中一个基本映像在以后的构建阶段被重用,并且在那里它根本不会显示在docker images
输出中
#将被隐藏,因为它有子代图像
从节点:10作为基准
运行apt get update&&apt get update
#将显示为:
从基础到用户界面
...
#将获得'docker build-t'标记
从基地
Dockerfile中以FROM
行开始的每个块都会创建一个新图像。如果使用docker build-t
选项,则只有最后一个阶段会使用指定的名称进行标记;剩余的块将显示为
,如docker images
输出
#节点:10是基础映像
#不是最终图像,将显示为:
来自节点:10作为ui构建
...
#最终图像将显示为test:latest(`docker build-t`选项)
来自节点:10作为服务器构建
...
您偶尔会看到docker文件,其中一个基本映像在以后的构建阶段被重用,并且在那里它根本不会显示在docker images
输出中
#将被隐藏,因为它有子代图像
从节点:10作为基准
运行apt get update&&apt get update
#将显示为:
从基础到用户界面
...
#将获得'docker build-t'标记
从基地
docker build -t test .