0

如果我跑

df -h

在我要构建的图像的 Dockerfile 中,它看到:

Filesystem      Size  Used Avail Use% Mounted on
overlay         118G  112G     0 100% /
tmpfs            64M     0   64M   0% /dev
tmpfs            16G     0   16G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1       118G  112G     0 100% /etc/hosts
tmpfs            16G     0   16G   0% /proc/asound
tmpfs            16G     0   16G   0% /proc/acpi
tmpfs            16G     0   16G   0% /proc/scsi
tmpfs            16G     0   16G   0% /sys/firmware

但如果我在外面运行它,它会看到:

Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  355M  2.8G  12% /run
/dev/sda1       118G  112G     0 100% /
tmpfs            16G  300M   16G   2% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/sda3       308G  4.8G  288G   2% /mnt/ssd
/dev/sdb1       1.8T  1.2T  605G  66% /home
tmpfs           3.2G   16K  3.2G   1% /run/user/1002
tmpfs           3.2G  4.0K  3.2G   1% /run/user/1038
tmpfs           3.2G     0  3.2G   0% /run/user/1037
/dev/loop1       97M   97M     0 100% /snap/core/9436
/dev/loop0       97M   97M     0 100% /snap/core/9665
/dev/loop3      163M  163M     0 100% /snap/blender/42
/dev/loop2      163M  163M     0 100% /snap/blender/43
tmpfs           3.2G     0  3.2G   0% /run/user/1039

我收到错误“设备上没有剩余空间”,我想使用我的 /dev/sdb1 磁盘,有 600 GB 可用空间,为什么 docker 看不到它?我怎样才能让它使用那个空间?

4

1 回答 1

2

Docker - 相反没有显式配置 - 将容器数据存储在/var/lib/docker. 如果您想扩展 Docker 容器的可用空间,一种解决方案是将文件系统/dev/sdb/var/lib/docker.

data-root或者,您可以通过在文件中设置选项来配置 Docker 以将容器数据存储在不同的位置/etc/docker/daemon.json,如dockerd 文档中所述

例如:

{
  "data-root": "/home/docker"
}

无论哪种情况,您都可能希望将现有文件/var/lib/docker从新位置复制;否则,在您进行更改后,Docker 将看不到您现有的任何图像、容器、卷等。

于 2020-08-08T13:40:15.763 回答