docker镜像大小如何影响运行时特征?

时间:2016-12-13 00:16:43

标签: docker dockerfile

我构建了一个docker容器的图像。大约600MB。我们将其称为图像' A'。然后我应用不同的清洁(例如' apt clean')和缩小尺寸的步骤(比如' rm man'),我得到一张300MB大小的图像。我们将其称为图像' B'。结果,图像' A'与图像相同' B'但是拥有许多在执行/运行时期间从未使用过的文件。

注意:我知道如果图像基于类似阿尔卑斯山的基本图像,可以缩小图像尺寸,但是我们说由于各种限制我不能这样做。

我理解:

  • ' A'图像需要的磁盘空间比“B'将图像保存在本地注册表中
  • ' A'图像需要更多时间从远程仓库中拉/推而不是' B'图像

我想知道' A'与“B&B”相比,图像对性能特征有任何其他影响。图像,特别是:

  • ' A'图像需要更多时间来启动(不包括拉动时间)?
  • ' A'图像使用的内存比“B'图像(假设工作量相同)?
  • ' A'图像使用的CPU比“B'图像(假设工作量相同)?
  • ' A' image每个正在运行的容器使用更多的磁盘空间(假设多个容器从同一个映像运行)?
  • ' A'除了' B'之外,图片还需要更多其他内容。图片可能不需要?

总的来说,我怀疑所有问题的答案都是否定的,但也许我错了。

1 个答案:

答案 0 :(得分:2)

图像的大小只是目录的大小。所以它永远不会占用更多的CPU或RAM(如果你没有删除某些东西,它将在启动时从'A'加载到RAM中) 关于提取过程的几句话:图像将仅在第一次从注册表中提取并将在本地缓存。拉出基本图像('A')后,只会拉出图像'B'的差异