docker容器的rootfs大小是如何决定的?

2024-01-25

在一个系统上,Docker容器的磁盘大小是这样的:

root@b65c6518f583:/# df -h
Filesystem                                                                                           Size  Used Avail Use% Mounted on
/dev/mapper/docker-253:0-202764498-b65c6518f5837667e7021971a97aebd382dddca6b3ecf4167472ebe17f16aace   99G  268M   94G   1% /
tmpfs                                                                                                5.8G     0  5.8G   0% /dev
shm                                                                                                   64M     0   64M   0% /dev/shm
tmpfs                                                                                                5.8G     0  5.8G   0% /sys/fs/cgroup
tmpfs                                                                                                5.8G   96K  5.8G   1% /run/secrets
/dev/mapper/rhel-root                                                                                 50G   20G   31G  40% /etc/hosts

我们可以看到rootfs大小为99G。而在另一个系统中,Docker容器的磁盘大小是这样的:

53ac740bd09b:/ # df -h
Filesystem                                                                                       Size  Used Avail Use% Mounted on
/dev/mapper/docker-8:8-4202821-2a6f330df1b7b37d55a96b098863f81e4a7f1c39fcca3f5fa03b57998cb33427  9.8G  4.4G  4.9G  48% /
tmpfs                                                                                            126G     0  126G   0% /dev
tmpfs                                                                                            126G     0  126G   0% /sys/fs/cgroup
/dev/sda8                                                                                         97G   11G   82G  12% /data
shm                                                                                               64M     0   64M   0% /dev/shm

rootfs大小只有9.8G。

docker容器的rootfs大小是如何决定的?如何修改rootfs大小的值?


容器的默认大小为 10 GB,您可以更改它。

以下是摘录:
https://docs.docker.com/engine/reference/commandline/daemon/ https://docs.docker.com/engine/reference/commandline/daemon/

dm.basesize

指定创建基本设备时要使用的大小,这限制了 图像和容器的大小。默认值为 10G。笔记, 瘦设备本质上是“稀疏”的,因此 10G 设备主要是 empty 不使用池上的 10 GB 空间。然而,文件系统 设备越大,空箱占用的空间就越大。

基本设备大小可以在守护进程重新启动时增加,这将 允许所有未来的镜像和容器(基于这些新镜像) 是新的基本设备尺寸。

例子:

$ docker daemon --storage-opt dm.basesize=50G

这会将基本设备大小增加到 50G。 Docker 守护进程将 如果现有基本设备大小大于 50G,则会抛出错误。一个用户 可以使用此选项来扩展基本设备大小,但是缩小 是不允许的。

该值影响系统范围的“基本”空文件系统,可能 已经被初始化并被拉取的图像继承。通常,一个 对此值的更改需要执行额外的步骤才能生效:

$ sudo service docker stop

$ sudo rm -rf /var/lib/docker

$ sudo service docker start

使用示例:

$ docker daemon --storage-opt dm.basesize=20G
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker容器的rootfs大小是如何决定的? 的相关文章

随机推荐