我找到了我的一个容器。这是我第二次遇到这个问题。当我尝试用docker启动它时,我得到:
来自守护程序的错误响应:无效的标头字段值“oci运行时 错误:container_linux.go:247:启动容器进程导致 \“process_linux.go:359:容器初始化导致\\”rootfs_linux.go:89: rootfs内的jailing进程导致\\\\“无法创建pivot_root dir,错误mkdir /var/lib/docker/devicemapper/mnt/da2101d43e6c8200eb22a4415b0aedf8033c7c701a19392217b8947738a723bf/rootfs/.pivot_root592021975: 设备上没有剩余空间\\\\“\\”\“\ n”错误:无法启动 容器:mydockername
我知道为什么我的设备上没有空间?主机容量仅为6%。
我正在使用CentOS Docker版本1.12.3,构建6b644ec
答案 0 :(得分:2)
容器的磁盘空间有限,而不是主机空间。容器磁盘空间的默认限制为10G。如果docker存储是devicemapper,则可以挂载容器文件系统并删除一些日志。然后你可以启动容器。
~# docker start centos3_50_pay
来自守护程序的错误响应:无效的标头字段值&#34; oci运行时错误:container_linux.go:247:启动容器进程导致&#34; process_linux.go:359:容器初始化导致&#34; rootfs_linux.go :89:内部的rootfs监禁过程引起&#34;可以&#39;吨创建pivot_root目录,错误MKDIR /var/lib/docker/devicemapper/mnt/96fd436942ce6c9a618ccea9c52f5e9b766065db9e7edf870967b27fbaf3f9bf/rootfs/.pivot_root558329180:设备上没有剩余&#34空间; < / p>
错误:无法启动容器:centos3_50_pay
~# docker inspect centos3_50_pay | grep Device
"Devices": [],
"DeviceId": "467",
"DeviceName": "docker-253:0-3222880762-96fd436942ce6c9a618ccea9c52f5e9b766065db9e7edf870967b27fbaf3f9bf",
"DeviceSize": "10737418240"
~# cat /var/lib/docker/devicemapper/metadata/ \
96fd436942ce6c9a618ccea9c52f5e9b766065db9e7edf870967b27fbaf3f9bf
{"device_id":467,"size":10737418240,"transaction_id":736,\
"initialized":false,"deleted":false}
~# echo "10737418240/512" |bc
20971520
~# dmsetup ls
docker-thinpool (253:5)
~# dmsetup create tmp --table "0 20971520 thin /dev/mapper/ \
docker-thinpool 467"
~# mount /dev/mapper/tmp /root/tmp
~# cd /root/tmp/rootfs/
~# ll
~# umount /root/tmp
~# dmsetup remove tmp
~# docker start centos3_50_pay
centos3_50_pay
答案 1 :(得分:0)
在MAC OSX上,这将帮助您删除旧的过时的东西:
docker rm $(docker ps -q -f 'status=exited')
docker rmi $(docker images -q -f "dangling=true")
docker volume rm $(docker volume ls -qf dangling=true)