docker pull myimagename
导致:
/var/lib/docker/overlay/670c89b1815cc9e3e27441690e47042fc554e432472ed8507`4284a890db56da0/ : no space left on device
df -h
:
╔══════════════════════════════════════════════════════╗
║ Filesystem Size Used Avail Use% Mounted on ║
╠══════════════════════════════════════════════════════╣
║ devtmpfs 4.3G 0 4.3G 0% /dev ║
║ tmpfs 4.4G 0 4.4G 0% /dev/shm ║
║ tmpfs 4.4G 17M 4.3G 1% /run ║
║ tmpfs 4.4G 0 4.4G 0% /sys/fs/cgroup ║
║ tmpfs 4.4G 3.0G 1.4G 70% / ║
║ /dev/loop0 162M 162M 0 100% /usr ║
║ tmpfs 4.4G 228K 4.4G 1% /tmp ║
║ tmpfs 4.4G 0 4.4G 0% /media ║
╚══════════════════════════════════════════════════════╝
我可以理解,这是一个空间问题。但这是否意味着我不能处理大尺寸的 docker 图像(在本例中为 4 GB)。我该如何处理这个问题?
已经尝试过的解决方案:
我在 virtualbox 上运行 CoreOS。我尝试增加虚拟磁盘镜像大小(甚至增加到 75 GB),但仍然出现相同的错误。
最佳答案
从您的 df -h 命令
的输出来看,您似乎正在运行 CoreOS Live ISO 镜像。所以整个操作系统从 ISO (CD) 加载到 RAM 中,而 CoreOS 没有安装在磁盘上。
参见 https://coreos.com/os/docs/latest/installing-to-disk.html关于如何将 CoreOS 安装到磁盘上(在最基本的安装版本中,您可以执行 coreos-install -d/dev/sda
并且 CoreOS 将安装在 sda 上,删除磁盘上的所有数据).
在我的 CoreOS 安装上查看 df -h
的输出:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 1.9M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda9 901G 588G 276G 69% /
/dev/sda4 985M 390M 545M 42% /usr
/dev/sda1 128M 58M 70M 46% /boot
tmpfs 16G 0 16G 0% /media
tmpfs 16G 0 16G 0% /tmp
/dev/sda6 108M 52K 99M 1% /usr/share/oem
/dev/md126p1 1.8T 591G 1.2T 34% /home
请注意,挂载点是读取磁盘而不是您的情况下的 tmpfs。
从磁盘安装和运行 CoreOS 将解决您的问题。
编辑:
如果您已经安装了 CoreOS,您可能正在从用于安装的 CD (ISO) 引导操作系统。您需要更改启动顺序或删除 CD (ISO),以便 CoreOS 从您安装它的磁盘启动。
关于linux - 核心操作系统 : when pulling large docker image of size greater than 4 GB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998134/