Docker: 为什么检查命令显示 8 层而不是 7 层
Docker: Why does inspect command shows 8 layers instead of 7 layers
我有一个简单的 docker 文件到 运行 alpine 中的 flask web 框架。
FROM python:2.7-alpine
RUN mkdir /app
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
LABEL maintainer="Test Test <test@gmail.com>" \
version="1.0"
CMD flask run --host=0.0.0.0 --port=5000
并构建了 docker 图像,如下所示
docker image build -t web1 .
并且能够看到在每个层中创建和删除的中间容器(WORKDIR /app 除外)。但是当我使用
检查时
docker image inspect web1
我得到了 8 层而不是 7 层。第 8 层来自哪里?
仅在映像构建期间为文件系统更改创建层。其他所有内容都是存储在 image manifest.
中的元数据
基础镜像python:2.7-alpine
有4个文件系统层。
docker inspect python:2.7-alpine --format '{{range .RootFS.Layers}}
{{.}}{{end}}'
sha256:2b0fb280b60dad0c3e2f6b207ef0d8f6a04f09638d245d3a2fdf0d6933e734d6
sha256:1d2140d2445eafe082403409b3fe53ec3d8c148dacd632857af3d00582aab358
sha256:17c290bb5b65c2d20fc06de87381281e3d47e73064bff2eb383691d8d15cc5e9
sha256:316e76fb784760855a473b2c655abecdcf94dbaef9ce3673645b40f8df24c8e1
您的映像在基础映像的 4 个文件系统层之上创建了 4 个文件系统层(Dockerfile RUN
、COPY
、RUN
、COPY
命令)
docker inspect web1 --format '{{range .RootFS.Layers}}
{{.}}{{end}}'
sha256:2b0fb280b60dad0c3e2f6b207ef0d8f6a04f09638d245d3a2fdf0d6933e734d6
sha256:1d2140d2445eafe082403409b3fe53ec3d8c148dacd632857af3d00582aab358
sha256:17c290bb5b65c2d20fc06de87381281e3d47e73064bff2eb383691d8d15cc5e9
sha256:316e76fb784760855a473b2c655abecdcf94dbaef9ce3673645b40f8df24c8e1
sha256:...
sha256:...
sha256:...
sha256:...
我有一个简单的 docker 文件到 运行 alpine 中的 flask web 框架。
FROM python:2.7-alpine
RUN mkdir /app
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
LABEL maintainer="Test Test <test@gmail.com>" \
version="1.0"
CMD flask run --host=0.0.0.0 --port=5000
并构建了 docker 图像,如下所示
docker image build -t web1 .
并且能够看到在每个层中创建和删除的中间容器(WORKDIR /app 除外)。但是当我使用
检查时docker image inspect web1
我得到了 8 层而不是 7 层。第 8 层来自哪里?
仅在映像构建期间为文件系统更改创建层。其他所有内容都是存储在 image manifest.
中的元数据基础镜像python:2.7-alpine
有4个文件系统层。
docker inspect python:2.7-alpine --format '{{range .RootFS.Layers}}
{{.}}{{end}}'
sha256:2b0fb280b60dad0c3e2f6b207ef0d8f6a04f09638d245d3a2fdf0d6933e734d6
sha256:1d2140d2445eafe082403409b3fe53ec3d8c148dacd632857af3d00582aab358
sha256:17c290bb5b65c2d20fc06de87381281e3d47e73064bff2eb383691d8d15cc5e9
sha256:316e76fb784760855a473b2c655abecdcf94dbaef9ce3673645b40f8df24c8e1
您的映像在基础映像的 4 个文件系统层之上创建了 4 个文件系统层(Dockerfile RUN
、COPY
、RUN
、COPY
命令)
docker inspect web1 --format '{{range .RootFS.Layers}}
{{.}}{{end}}'
sha256:2b0fb280b60dad0c3e2f6b207ef0d8f6a04f09638d245d3a2fdf0d6933e734d6
sha256:1d2140d2445eafe082403409b3fe53ec3d8c148dacd632857af3d00582aab358
sha256:17c290bb5b65c2d20fc06de87381281e3d47e73064bff2eb383691d8d15cc5e9
sha256:316e76fb784760855a473b2c655abecdcf94dbaef9ce3673645b40f8df24c8e1
sha256:...
sha256:...
sha256:...
sha256:...