这个问题在这里已经有了答案:
How to change the docker image installation directory?
(19 个回答)
1年前关闭。
如果我跑
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 看不到它?我怎样才能让它使用那个空间?
最佳答案
Docker -- 相反没有显式配置 -- 将容器数据存储在 /var/lib/docker
.如果您想扩展 Docker 容器的可用空间,一种解决方案是从 /dev/sdb
挂载文件系统。转至 /var/lib/docker
.
或者,您可以通过设置 data-root
将 Docker 配置为将容器数据存储在不同的位置。您的 /etc/docker/daemon.json
中的选项文件,如 the dockerd documentation 中所述.
例如:
{
"data-root": "/home/docker"
}
无论哪种情况,您都可能希望从 /var/lib/docker
复制现有文件。进入新位置;否则,在您进行更改后,Docker 将看不到您现有的任何图像、容器、卷等。
关于Docker 看不到所有磁盘 - 设备上没有剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63315904/