我正在运行一个Docker容器,它给出了磁盘空间警告。如何增加Docker的空间并重新启动(同一容器)?
假设我想增加15GB。
我正在运行一个Docker容器,它给出了磁盘空间警告。如何增加Docker的空间并重新启动(同一容器)?
假设我想增加15GB。
我假设你是在讨论运行容器所需的磁盘空间。
请确保您使用的任何磁盘驱动器上有足够的空间来存储/var/lib/docker
,这是Docker默认使用的位置。您可以使用-g
守护进程选项更改它。
如果您没有足够的空间,则可能需要重新分区操作系统驱动器,以获得超过15GB的空间。如果您使用的是boot2docker
或docker-machine
,则需要扩大虚拟机上的卷。这将根据您用于虚拟化的工具而有所不同(例如VirtualBox、VMware等)。
例如,如果您正在使用VirtualBox和docker-machine
,则可以从以下内容开始为40GB虚拟机设置:
docker-machine create --driver virtualbox --virtualbox-disk-size "40000" default
我在使用docker-vm时遇到了类似的问题(我的VMware Fusion中运行的是'alpine-linux'):
write error: no space left on device alpinevm:/mnt/hgfs
failed to build: .. no space left on device
> df -h
/dev/sda3 17.6G 4.1G 12.6G 25% /var/lib/docker
寻找'/dev/sdaN',其中N为'/var/lib/docker'的分区,在我的情况下是/dev/sda3
2 - 关闭您的虚拟机,在"VM设置"中,选择硬盘(s)并更改"virtual_disk.vmdk"(或任何其他虚拟磁盘), 然后单击应用(参见此指南)。
3 - 安装cfdisk和包含resize2fs的e2fsprogs-extra
> apk add cfdisk
> apk add e2fsprogs-extra
4 - 运行cfdisk并调整/扩展/dev/sda3分区
> cfdisk
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 206847 204800 100M 83 Linux
/dev/sda2 206848 4241407 4034560 1.9G 82 Linux swap / Solaris
/dev/sda3 4241408 83886079 79644672 12.6G 83 Linux
[Bootable] [ Delete ] [ Resize ] [ Quit ] [ Type ] [ Help ] [ Write ] [ Dump ]
.. 按下/向上键选择 '/dev/sda3'
.. 按左/右/回车键选择 '调整大小' -> '写入' -> '退出'
5 - 运行 resize2fs 来扩展 /dev/sda3 文件系统
> resize2fs /dev/sda3
6 - 验证已调整大小的卷
> df -h
/dev/sda3 37.3G 4.1G 31.4G 12% /var/lib/docker
lvs
lvextend -l 100%FREE <path_to_lv>
# An example using this may looks like this:
# lvextend -l 100%FREE /dev/VolGroup00/docker-pool
你可以在这里查看更多有关Docker磁盘空间的提示。
谢谢。