在 Docker 工具箱上增加磁盘 Space

Increase Disk Space on Docker Toolbox

我正在尝试在 Docker 工具箱上启动一些非常大的容器(总共大约 18 GB)。不幸的是,我总是收到磁盘不足 space 的错误。我有一个 1TB 的硬盘,还有超过 200 GB 的可用空间。

如何为 docker 工具箱增加磁盘 space?

好的,我终于找到了解决方案:

打开Docker快速启动终端,删除虚拟机docker并添加一个新的:

 $ docker-machine rm default
 $ docker-machine create -d virtualbox --virtualbox-disk-size "100000" default

您可以调整大小而无需删除 VM 并重新创建它。默认情况下 Docker 机器使用 VirtualBox,它有 vboxmanage 命令行工具来处理虚拟机。您可以使用 modifymedium 命令更改磁盘大小:

vboxmanage modifymedium docker-vm.vdi --resize 100000

就我而言,我有很多已停止的容器、图像和卷 - 耗尽 space。以下命令帮助:

docker container prune

docker volume prune

docker image prune

我遇到了同样的问题。我不准备丢失任何现有图像或容器,因此创建新磁盘或修剪数据都不是我的选择。以下是如何在不丢失任何数据的情况下调整磁盘大小。

Docker Toolbox 默认创建一个 VMDK 文件。 VirtualBox 无法调整此格式的大小。因此,在调整大小之前,您必须将其转换为 VDI 文件。

转到您的 VirtualBox 界面并从您的 "default" 机器上分离 VMDK 文件。然后,将 VMDK 文件克隆到 VDI 文件:

VBoxManage clonemedium disk --format VDI "C:\Users\me\.docker\machine\machines\default\disk.vmdk" "C:\Users\me\.docker\machine\machines\default\disk.vdi"

您现在可以调整 VDI 文件的大小。以下命令的最后一个参数以 MB 为单位指定新大小:

VBoxManage modifyhd "C:\Users\me\.docker\machine\machines\default\disk.vdi" --resize 30720

现在调整了磁盘的大小,但没有调整分区。要调整分区大小以适应磁盘大小,请下载 GParted and create a new virtual machine. Attach your VDI disk and the GParted Live CD to the new machine. It will boot GParted and you can then use it to resize the partition to use the entire disk. There are a lot of detailed instructions how to do this on the internet, for example here。完成后,关闭 GParted VM。

将 VDI 文件附加到您的 "default" 机器上。 运行 docker-machine start 它应该使用调整大小的虚拟磁盘启动您的 Docker 机器。如果一切正常,您现在可以删除旧的 VMDK 文件或将其存档以备备份。