Docker运行时,设备没有剩余空间。

3
[root@host ~]# docker run 9e7de9390856

Timestamp: 2015-06-15 22:20:58.8367035 +1000 AEST
Code: System error

Message: [/usr/bin/tar -xf /var/lib/docker/tmp/cde0f3a199597ac2e18e7efc7744c84a6c134adef31fb88b6982a8732f45efa5090033894/_tmp.tar -C /var/lib/docker/devicemapper/mnt/cde0f3a199597ac2e18e7efc7744c84a6c134adef31fb88b6982a8732f45efa5/rootfs/tmp .] failed: /usr/bin/tar: ./was/fixPack/7.0.0-WS-WASSDK-LinuxX64-FP0000027.pak: Wrote only 4608 of 10240 bytes
/usr/bin/tar: ./was/fixPack/wasFixPackInstallResponseFile: Cannot write: No space left on device
.
.
Cannot write: No spaFATA[0141] Error response from daemon: : exit status 2

df -h:

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda2      6.0G  3.2G  2.9G  52% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.8G     0  1.8G   0% /dev/shm
tmpfs           1.8G   17M  1.8G   1% /run
tmpfs           1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/xvdb1       99G   28G   67G  30% /var/lib/docker

docker 信息:

Containers: 2
Images: 34
Storage Driver: devicemapper
 Pool Name: docker-202:17-2621441-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 15.89 GB
 Data Space Total: 107.4 GB
 Data Space Available: 76.3 GB
 Metadata Space Used: 10.27 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.137 GB
 Udev Sync Supported: true
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93-RHEL7 (2015-01-28)
Execution Driver: native-0.2
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.1 (Maipo)
CPUs: 2
Total Memory: 3.452 GiB
Name: ip-10-100-128-182.localdomain
ID: 4ZZZ:BSQD:GBKL:4Y3N:J6BL:47QE:3HMQ:GLMY:FPUK:CEPM:3EBP:ZU7G
Debug mode (server): true
Debug mode (client): false
Fds: 13
Goroutines: 18
System Time: Mon Jun 15 22:48:24 AEST 2015
EventsListeners: 0
Init SHA1: 836be3a369bfc6bd4cbd3ade1eedbafcc1ea05d0
Init Path: /usr/libexec/docker/dockerinit
Docker Root Dir: /var/lib/docker

uname -a: Linux ip-10-100-128-182.localdomain 3.10.0-229.el7.x86_64 #1 SMP Thu Jan 29 18:37:38 EST 2015 x86_64 x86_64 x86_64 GNU/Linux

有人能帮我吗? 不确定这些信息是否足够。但是尝试了几个解决方案,都没有起作用。

docker version: 客户端版本:1.6.0 客户端 API 版本:1.18 Go 版本(客户端):go1.4.2 Git 提交(客户端):8aae715/1.6.0 操作系统/架构(客户端):linux/amd64 服务器版本:1.6.0 服务器 API 版本:1.18 Go 版本(服务器):go1.4.2 Git 提交(服务器):8aae715/1.6.0 操作系统/架构(服务器):linux/amd64

[root@host ~]# service docker status -l
Redirecting to /bin/systemctl status  -l docker.service
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
   Active: active (running) since Tue 2015-06-16 00:31:46 AEST; 2min 2s ago
     Docs: http://docs.docker.com
 Main PID: 3306 (docker)
   CGroup: /system.slice/docker.service
           └─3306 /usr/bin/docker -d --storage-opt dm.basesize=30G --storage-opt dm.loopmetadatasize=4G

你可以发布 docker ps -a,也许你还有很多"dead"容器。 - user2915097
不好意思,我没有任何容器了...全部都删掉了。 - karthikeayan
发布 ls -alrt /var/lib/docker/devicemapper/mnt/ - user2915097
图像 9e7de9390856 是什么?它有多大? - larsks
/var/lib/docker/devicemapper/mnt/ 包含大约30-40个空目录。 - karthikeayan
9e7de9390856的大小为14GB。 - karthikeayan
1个回答

4

看起来你正在尝试从一个14GB的镜像启动容器。

使用devicemapper存储驱动程序时,Docker容器默认只有10GB的可用空间。你似乎正在使用devicemapper驱动程序,所以这可能是你的问题来源。

本文详细讨论了你需要使用的过程,以增加容器文件系统可用空间。

基于文件系统的驱动程序(如overlay驱动程序)没有这个限制(但它们当然可能遭受其他限制)。


我已经更改为3.10.5-12.1.x86_64的aufs驱动程序,但仍然出现错误! - karthikeayan
是的,同样的错误,我可以创建一个1GB大小的容器镜像。 - karthikeayan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接