CoreOS:当拉大尺寸大于4 GB的大docker图像时

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)。 我如何处理这个问题?

解决scheme已经试过

我在virtualbox上运行CoreOS。我尝试增加虚拟磁盘映像大小(甚至到75 GB),但仍然得到相同的错误。

从你的df -h command的输出看起来你正在运行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从您安装的磁盘启动。