我是 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 等。
如果需要,您可以将此路径更改为另一个目录、存储或磁盘。
旧版 Overlay 驱动程序用于不支持 Overlay2 所需的“multiple-lowerdir”功能的内核。所有当前支持的 Linux 发行版现在都提供对此的支持,因此已被弃用。
Docker 中的覆盖
Docker 使用覆盖文件系统来创建映像并将容器层放置在映像层之上。下载图像后,其图层位于 /var/lib/docker/overlay2 文件夹内。
合并的文件夹是覆盖文件系统,它们本身不占用磁盘空间,而是 df 报告底层文件系统的磁盘使用情况,在您的情况下是 /