Вывод docker version
:
Client:
Version: 1.8.2-el7.centos
API version: 1.20
Package Version: docker-1.8.2-10.el7.centos.x86_64
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
Server:
Version: 1.8.2-el7.centos
API version: 1.20
Package Version:
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
Вывод docker info
:
Containers: 0
Images: 130
Storage Driver: devicemapper
Pool Name: docker-253:0-3221586422-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: xfs
Data file: /dev/loop4
Metadata file: /dev/loop5
Data Space Used: 107.4 GB
Data Space Total: 107.4 GB
Data Space Available: 0 B
Metadata Space Used: 60.92 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.087 GB
Udev Sync Supported: true
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.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 12
Total Memory: 31.2 GiB
Name: IP-5-14
ID: DNOS:FC2P:2WH4:OSYL:L2CH:U7HZ:MFL2:ZID3:SYTX:JWKP:TGIN:YYPB
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Дополнительные сведения о среде (AWS, VirtualBox, физическая и т. д.):
Действия по воспроизведению проблемы:
Я хочу запустить свой образ докера с именем gateway, используя приведенную ниже команду (точка входа без демона была установлена в Dockerfile шлюза)
docker run -d -P gateway
Опишите полученные результаты:
контейнер может работать как обычно
Опишите ожидаемые результаты:
[root@IP-5-14 devicemapper]# docker run -d -P gateway
Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed
Дополнительная информация, которую вы считаете важной (например, проблема возникает только изредка):
docker info
, пространство данных было увеличено до порога 100G.docker rm -f $(docker ps -a -q)
. Все контейнеры были удалены, но сообщили об ошибке ниже:Error response from daemon: Cannot destroy container 5d5eed10468b: Driver devicemapper failed to remove root filesystem 5d5eed10468b809475b0eb23bda167e1a962d32092a348936d56e27417dbf578: Error running DeleteDevice dm_task_run failed
docker ps -a
, чтобы убедиться, что все контейнеры были удалены после того, как я сделал шаг 2. Результат cmd пуст. но возникает ошибка (ниже), когда я удаляю НИ ОДНОГО изображения[root@IP-5-14 devicemapper]# docker rmi 6fdebd7b0eb5
Error response from daemon: Conflict, cannot delete because 6fdebd7b0eb5 is held by an ongoing pull or build
Error: failed to remove images: [6fdebd7b0eb5]
Кто-нибудь может оказать мне услугу? Большое спасибо
Вам необходимо увеличить пул, разрешенный для ваших контейнеров. Для этого вам нужно будет удалить ваш var/lib/docker, который уничтожит все ваши контейнеры и образы.
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Это сделает ваше пространство для данных использованным 300GB
Это решает вашу проблему? Кроме того, попробуйте остановить процессы Docker, снова запустите Docker и посмотрите, сможете ли вы удалить образы.
Devicemapper, которому не хватает места, может быть действительно очень сложным; Мы отслеживаем связанные с этим проблемы в https://github.com/docker/docker/issues/20272.
Для Docker 1.11 появилась новая возможность указать минимальное количество свободного места, которое необходимо сохранить, и это предотвратит появление такой ситуации; см. https://github.com/docker/docker/pull/20786
Я собираюсь закрыть эту тему, потому что я думаю, что это не ошибка, а вопрос поддержки, но вы можете продолжить обсуждение здесь.
Ладно. большое спасибо. Надежда на новые функции Docker1.11
Самый полезный комментарий
Вам необходимо увеличить пул, разрешенный для ваших контейнеров. Для этого вам нужно будет удалить ваш var/lib/docker, который уничтожит все ваши контейнеры и образы.
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Это сделает ваше пространство для данных использованным 300GB
Это решает вашу проблему? Кроме того, попробуйте остановить процессы Docker, снова запустите Docker и посмотрите, сможете ли вы удалить образы.