docker 覆盖文件系统上的剩余磁盘空间

docker 覆盖文件系统上的剩余磁盘空间

我是 Linux 新手。我将 armbian 安装到 SD 卡上,一切正常。 SD卡是64GB的。然后我安装了 docker.io、docker-compose 和 portainer,仅此而已。

当我使用 lsblk 检查磁盘空间时:

    # lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0  59.5G  0 disk
├─mmcblk0p1  179:1    0   512M  0 part /boot
└─mmcblk0p2  179:2    0  58.4G  0 part /
mmcblk1      179:32   0  14.6G  0 disk
mmcblk1boot0 179:64   0     4M  1 disk
mmcblk1boot1 179:96   0     4M  1 disk
zram0        254:0    0    50M  0 disk /var/log
zram1        254:1    0 929.4M  0 disk [SWAP]

然后用 df:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            796M     0  796M   0% /dev
tmpfs           186M  8.0M  178M   5% /run
/dev/mmcblk0p2   58G  2.2G   55G   4% /
tmpfs           930M     0  930M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           930M     0  930M   0% /tmp
/dev/mmcblk0p1  511M   59M  453M  12% /boot
/dev/zram0       49M  7.0M   38M  16% /var/log
overlay          58G  2.2G   55G   4% /var/lib/docker/overlay2/b28da5a318945ac7ae1d17d26a635edb9a662c6116dea37fb4f6c13e1c76d7d2/merged
tmpfs           186M     0  186M   0% /run/user/0

为什么还剩下 2 个 55 GB(/dev/mmcblk0p2 和覆盖文件系统)?这是否意味着我只能使用该/var/lib/docker/overlay2/.../merged文件夹上的 55 GB 空间?

谢谢

答案1

/dev/mmcblk0p2是安装 Linux 发行版的根文件系统。

哪里2.2GB正在使用且55GB可用。

/var/lib/docker/overlay2目录是 Docker 存储镜像和容器的位置。

Docker 使用写时复制文件系统进行存储,这会在现有文件系统之上创建一个新层。

这是 Docker 覆盖文件系统和您看到的位置df -h

overlay          58G  2.2G   55G   4% /var/lib/docker/overlay2/b28da5a318945ac7ae1d17d26a635edb9a662c6116dea37fb4f6c13e1c76d7d2/merged

您的 SD 卡上有55GB足够的存储空间来存储文件、安装软件包和使用 Docker 等。

如果需要,您可以将此路径更改为另一个目录、存储或磁盘。

Docker 存储驱动程序

使用 OverlayFS 存储驱动

旧版 Overlay 驱动程序用于不支持 Overlay2 所需的“multiple-lowerdir”功能的内核。所有当前支持的 Linux 发行版现在都提供对此的支持,因此已被弃用。

Docker 中的覆盖

Docker 使用覆盖文件系统来创建映像并将容器层放置在映像层之上。下载图像后,其图层位于 /var/lib/docker/overlay2 文件夹内。

合并的文件夹是覆盖文件系统,它们本身不占用磁盘空间,而是 df 报告底层文件系统的磁盘使用情况,在您的情况下是 /

/var/lib/docker/overlay2/*/merged 占用的空间过多

相关内容