Docker增加磁盘空间
Posted
技术标签:
【中文标题】Docker增加磁盘空间【英文标题】:Docker increase disk space 【发布时间】:2015-12-05 18:53:15 【问题描述】:我有一个 docker 正在运行,它给了我磁盘空间警告。如何增加 docker 空间并重新开始? (同一个容器)
假设我想提供 15gb。
【问题讨论】:
您遇到的磁盘空间错误是什么?更有可能是您的 docker 主机空间不足。 【参考方案1】:我假设您正在谈论运行容器的磁盘空间。
确保您使用的任何磁盘驱动器上都有足够的空间用于/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-machine create --driver virtualbox --virtualbox-disk-size "100000" default【参考方案2】:要增加 Docker 的可用空间,您必须增加 docker-pool 的大小。如果你做一个
lvs
您将看到 docker-pool 逻辑卷及其大小。如果您的 docker 池位于具有可用空间的卷组上,您只需将 docker-pool LV 增加
lvextend -l 100%FREE <path_to_lv>
# An example using this may looks like this:
# lvextend -l 100%FREE /dev/VolGroup00/docker-pool
您可以查看更多 docker diskspace 技巧here
谢谢
【讨论】:
【参考方案3】:Docker 将所有层/图像以其文件格式(即 aufs)存储在默认的 /var/lib/docker 目录中。
如果你因为 docker 而收到磁盘空间警告,那么肯定有很多 docker 镜像,你需要清理它。
如果您可以选择添加磁盘空间,那么您可以创建更大尺寸的单独分区并将 /var/lib/docker 挂载到那里,这将帮助您摆脱填充根分区。
可以在此处找到有关管理 docker 磁盘空间的一些额外信息。 http://www.scmtechblog.net/2016/06/clean-up-docker-images-from-local-to.html
【讨论】:
【参考方案4】:我的 docker-vm(在 OS X 中的 VMware Fusion 上是“alpine-linux”)遇到了类似的问题:
write error: no space left on device alpinevm:/mnt/hgfs
failed to build: .. no space left on device
.. 最终this guide helped我来调整/扩展我的 docker 卷。
TL;DR:
1 - 检查包含 /var/lib/docker
的分区的大小> df -h
/dev/sda3 17.6G 4.1G 12.6G 25% /var/lib/docker
查找“/dev/sdaN”,其中 N 是“/var/lib/docker”的分区,在我的例子中是 /dev/sda3
2 - 关闭您的虚拟机,打开虚拟机设置 > 硬盘 > 更改“virtual_disk.vmdk”(或您机器的虚拟磁盘)的大小,然后点击应用 (see this guide)。
3 - 安装 cfdisk 和 e2fsprogs-extra,其中包含 resize2fs
> 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
【讨论】:
所有这些命令是否都在主机系统中运行(那是什么操作系统),它将如何转换为 Windows 主机?【参考方案5】:你也可以通过docker GUI增加磁盘空间
【讨论】:
如果您使用的是适用于 Linux 的 Windows 子系统,则需要使用 .wslconfig 文件docs.microsoft.com/en-us/windows/wsl/…以上是关于Docker增加磁盘空间的主要内容,如果未能解决你的问题,请参考以下文章