gpt4 book ai didi

docker - 当多个容器在同一主机上运行时,docker 是否会重用图像?

转载 作者:行者123 更新时间:2023-12-04 14:24:50 24 4
gpt4 key购买 nike

我的理解是 Docker 在 dockerfile 的每个阶段都创建了一个镜像层。

如果我在同一台机器上运行 X 个容器(其中 X >=2)并且每个容器都有一个共同的底层镜像层(即 debian),那么 docker 会在该机器上只保留一个基本镜像的副本,还是有每个容器有多个副本?

这是否有问题,或者 dockerfile 中的每一层都是这样?

这是如何运作的?

Kubernetes 对此有任何影响吗?

最佳答案

docker Understand images, containers, and storage drivers详细说明了这一点。

从 Docker 1.10 开始,构成镜像的所有层在构建时都有一个 SHA256 安全内容哈希与之关联。只要层的内容相同,此哈希在主机和构建之间是一致的。

如果任意数量的镜像共享一个层,则该层的 1 个副本将被 Docker 引擎实例上的所有镜像存储和使用。

debian 这样的标签随着新版本的发布,随着时间的推移,可以引用多个 SHA256 图像哈希。使用 FROM debian 构建的两个图像不一定共享层,仅当 SHA256 哈希匹配时。

在下面运行 Docker 引擎的任何东西都将使用此存储设置。

这种共享也适用于 Docker Registry(>2.2 以获得最佳结果)。如果您要推送具有该注册表中已存在的层的镜像,则会跳过现有层。与将图层拉到本地引擎相同。

关于docker - 当多个容器在同一主机上运行时,docker 是否会重用图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38805130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com