Docker:为什么inspect命令显示8层而不是7层

时间:2017-10-19 02:08:12

标签: docker dockerfile docker-image

我有一个简单的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 image build -t web1。

并且能够看到每个层中创建和删除的中间容器(WORKDIR / app除外)。但是当我使用

进行检查时
  

docker image inspect web1

我有8层而不是7层。第8层来自哪里?

1 个答案:

答案 0 :(得分:2)

仅在图像构建期间为文件系统更改创建图层。其他所有内容都是存储在image manifest

中的元数据

基本图像total_non_zeros = np.count_nonzero(ground_truth) # sample 1d index idx = np.random.choice(total_non_zeros, int(total_non_zeros * 0.2)) # subset non zero indices and set the value at corresponding indices to zero ground_truth[tuple(map(lambda x: x[idx], np.where(ground_truth)))] = 0 ground_truth #array([[ 0, 99, 98], # [ 0, 84, 0], # [55, 0, 0]]) 有4个文件系统层。

python:2.7-alpine

您的图片在基本图片的4个顶部创建了4个文件系统图层(Dockerfile docker inspect python:2.7-alpine --format '{{range .RootFS.Layers}} {{.}}{{end}}' sha256:2b0fb280b60dad0c3e2f6b207ef0d8f6a04f09638d245d3a2fdf0d6933e734d6 sha256:1d2140d2445eafe082403409b3fe53ec3d8c148dacd632857af3d00582aab358 sha256:17c290bb5b65c2d20fc06de87381281e3d47e73064bff2eb383691d8d15cc5e9 sha256:316e76fb784760855a473b2c655abecdcf94dbaef9ce3673645b40f8df24c8e1 RUNCOPYRUN命令

COPY