linux - 核心操作系统 : when pulling large docker image of size greater than 4 GB

标签 linux docker coreos docker-registry docker-image

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/

相关文章:

python - 如何解决错误 "no module found named pyside2"?

Docker 客户端无法连接到 Windows 7 上 VM 上的 docker 主机

kubernetes - hyperkube image标签末尾的0和1是什么意思

kubernetes - NFS卷装入会导致Kubernetes上的退出代码为32?

c - 在 Linux 上显示 RGBA32-BMP 图像

linux - 如何让 Flutter 通过鼠标拖动而不是滚轮来滚动? (Linux)

docker - 如何将环境变量值传递到我尝试运行的Docker容器中的文件中

angular - 来自 Angular4 应用程序的 Docker 容器 : "-p" : executable file not found in $PATH

docker - Deis Batch作业

linux - 可以让 awk 使用 `exit 2` 退出 bash 脚本吗?