【问题标题】:Why so many layers on base images? Docker为什么基础图像上有这么多层?码头工人
【发布时间】:2015-01-03 18:16:27
【问题描述】:

我拉动了ubuntu:14.04 并在运行docker images -tree 之后看到以下内容:

└─511136ea3c5a Virtual Size: 0 B
  └─3b363fd9d7da Virtual Size: 188.1 MB
    └─607c5d1cca71 Virtual Size: 188.3 MB
      └─f62feddc05dc Virtual Size: 188.3 MB
        └─8eaa4ff06b53 Virtual Size: 188.3 MB Tags: ubuntu:14.04.1, ubuntu:latest, ubuntu:trusty, ubuntu:14.04

这是什么?比如第一个。在我看来,除了底层之外,所有层似乎都很奇怪。请问,谁能解释一下为什么需要它们?

【问题讨论】:

  • 这个问题似乎离题了,因为它属于askubuntu.com。祝你好运。
  • @shellter。这不是题外话——这是一个 Docker 问题,而不是 Ubuntu 问题。
  • 适合你自己 ;-) 这不是我所说的编程问题,但我很高兴你能为 OP 回答它。祝大家好运。
  • 除非轨道上有 docker.stackexchange.com,否则我认为这对 SO 来说是一个非常有效的问题 - 无论如何它绝对与 ubuntu 无关

标签: unix ubuntu docker virtualization


【解决方案1】:

简短的回答是,用于构建映像的 Dockerfile 中的每条指令都有一个层。

您可以找到 Ubuntu 映像的 Dockerfile here

FROM 行我们可以看到图像是基于“scratch”的,它表示您可以在输出顶部看到的空层。下面的每一行都会为图像添加一个新层。当你运行docker build 时,你可以看到 Docker 正在构建层并运行上一层中的新指令。

【讨论】:

  • 可能是菜鸟的答案)但是为什么 dockerfile 中的指令比构建映像中的层少?
  • 有相同的数字 - 我错了 CMD 行不计数 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
相关资源
最近更新 更多