在执行docker pull时,我收到此错误消息
POST / images / create处理程序返回错误:ApplyLayer退出状态 1 stdout:stderr:写XXXX:设备上没有剩余空间
我检查了磁盘空间和Inodes,我有足够的空间。无论如何我试着释放一些额外的空间和inode。尽管如此,错误总是落在同一个文件上(排除了潜在的空间问题)。
要拉的图像是~12Gb
文件系统Inodes IUsed IFree IUse%挂载在/ dev / sda4上 3,0M 295K 2,7M 10%/
使用的文件系统大小可用在/ dev / sda4上安装% 47G 15G 30G 34%/
我尝试从另一台计算机导出图像并将其导入计算机导致问题。但是我得到了“设备上没有剩余空间”的相同错误
我尝试删除所有图像,甚至完全删除/ var / lib / docker,重新启动docker守护程序,没有任何运气。
在安装了ubuntu 14.02的MacBook 12.11上运行。
内核: 3.18.0-031800-generic#201412071935 SMP Mon Dec 8 00:36:34 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
docker version
Docker 1.7.1版,build 786b29d
码头信息
Containers: 2
Images: 85
Storage Driver: devicemapper
Pool Name: docker-8:4-920131-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 6.185 GB
Data Space Total: 107.4 GB
Data Space Available: 33.83 GB
Metadata Space Used: 8.061 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.139 GB
Udev Sync Supported: false
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.18.0-031800-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 8
Total Memory: 15.58 GiB
Name: geb
ID: TTQN:73Y5:IU35:CK53:UELX:HPRQ:BKMM:ZNNM:O56G:6WL3:RZXE:NV4H
WARNING: No swap limit support
答案 0 :(得分:5)
devicemapper
在各种不同的内核和操作系统中引起了无数问题。问题here。
杰罗姆·佩塔佐有一些broader recommendations - 虽然BTRFS也有/持续serious问题,但在以前的部署中已经从生产中撤出了(以及Ubuntu 12.04上的DeviceMapper和AUFS)。
我对存储驱动程序的偏好是overlay
,这可以从内核3.18
开始提供(进一步的意见expressed here):
Storage Driver: overlay
Backing Filesystem: extfs
使用(more here)更新/etc/default/docker
:
DOCKER_OPTS="-s overlay"
(确保您只有一个DOCKER_OPTS
- 该文件不支持BASH语法,如人们所期望的那样)
编辑:我似乎记得设备管理器修复程序是删除所有内容,然后重新启动。