为什么基础图像上有这么多层? Docker
Why so many layers on base images? Docker
我已经拉 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
这是什么?比如第一个。在我看来,除了最底层之外,所有层似乎都很奇怪。拜托,谁能解释一下为什么需要它们?
简短的回答是 Docker 用于构建图像的文件中的每条指令都有一个层。
您可以找到 Ubuntu 图片 here 的 Docker 文件。
从 FROM
行我们可以看到图像是基于 "scratch" 的,它代表您可以在输出顶部看到的空层。下面的每一行都会向图像添加一个新层。当您 运行 docker build
时,您可以看到 Docker 构建层并 运行 在上一层中添加新指令。
我已经拉 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
这是什么?比如第一个。在我看来,除了最底层之外,所有层似乎都很奇怪。拜托,谁能解释一下为什么需要它们?
简短的回答是 Docker 用于构建图像的文件中的每条指令都有一个层。
您可以找到 Ubuntu 图片 here 的 Docker 文件。
从 FROM
行我们可以看到图像是基于 "scratch" 的,它代表您可以在输出顶部看到的空层。下面的每一行都会向图像添加一个新层。当您 运行 docker build
时,您可以看到 Docker 构建层并 运行 在上一层中添加新指令。