gpt4 book ai didi

docker - 容器有自己的磁盘但共享内存?

转载 作者:行者123 更新时间:2023-12-02 18:58:14 33 4
gpt4 key购买 nike

我是 docker 新手,只是一个包含基础的问题,下面是一本书的图片:
enter image description here
它说容器共享主机的 CPU、操作系统和内存,但每个容器都有自己的计算机名称、IP 地址和磁盘。
我对磁盘有点困惑,磁盘不是就像内存一样资源吗?如果一个容器内部有 1gb 的数据,它必须由主机从自己的磁盘中分配 1gb 的磁盘空间,就像内存一样?所以容器的磁盘也是共享的?

最佳答案

您可以通过说每个容器都有自己的文件系统来使该图更精确。 /usr在容器中与 /usr 分开在其他容器或主机上,即使它们共享相同的底层存储。
与普通进程类比,每个进程都有自己的地址空间,进程不能写入彼此的内存,即使它们共享相同的底层内存硬件。内核将特定的物理内存块(页)分配给特定的进程地址空间。如果你不按自己的方式行事,实际上有几种方法可以使内存块在进程之间共享。相同的基本属性适用于容器文件系统。
在较旧的 Docker 安装(docker info 会说 devicemapper)上,Docker 使用保留的固定大小磁盘区域。在较新的 Docker 安装上(docker info 会说 overlay2)Docker 可以使用整个主机磁盘。 Linux 内核大量涉及将主机磁盘(或可能的主机文件系统)的部分映射到每个容器的文件系统空间。

关于docker - 容器有自己的磁盘但共享内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63497812/

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