2015-06-08 2 views
19

Сегодня я впервые установил докеры на Fedora 21. Теперь мне нужно изменить местоположение папки изображений докеров по умолчанию/var/lib/docker.Ошибка Docker dm_task_run

После копирования файлов (вложенная папка devicemapper пропущена, служба докеров отключена) и изменение/etc/sysconfig/docker (добавление опции -g), я снова запускаю службу докеров, никаких проблем, созданных devicemapper/metadata.

Далее, я пытаюсь вытащить первое изображение:

docker pull centos 

Но произошла эта ошибка:

docker pull centos 
latest: Pulling from docker.io/centos 

6941bfcbbfca: Download complete 
6941bfcbbfca: Error downloading dependent layers 
41459f052977: Downloading [==========================>      ] 41.61 MB/77.28 MB 
fd44297e2ddb: Error pulling image (latest) from docker.io/centos, endpoint: https://registry-1.docker.io/v1/, Driver devicemapper failed to create image rootfs 6941bfcbbfca7f4f48becd38f2639157042bfd44297e2ddb: Error pulling image (latest) from docker.io/centos, Driver devicemapper failed to create image rootfs 6941bfcbbfca7f4f48becd38f2639157042b5cf9ab8c080f1d8b6d047380ecfc: Error running DeviceCreate (createSnapDevice) dm_task_run failed 
FATA[0013] Error pulling image (latest) from docker.io/centos, Driver devicemapper failed to create image rootfs 6941bfcbbfca7f4f48becd38f2639157042b5cf9ab8c080f1d8b6d047380ecfc: Error running DeviceCreate (createSnapDevice) dm_task_run failed 

Если я пытаюсь это без изменения не местоположение - в порядке, никаких проблем.

Как это исправить?

ответ

19

Как видно из issue 3721, это проблема с дисковым пространством.

Проблема заключается в том, что docker rmi doesn't always work in that case:

Получение этого в v1.2 на CentOS 6.5, если диск заполняется до того, как изображение завершает вытягивать. Невозможно rmi неполное изображение.

Один "nuclear" option:

удалить все в /var/lib/docker разработаны. Спасибо

Другой причиной может быть common layer of fs to be downloaded between two images.

+2

Я выбежал из дискового пространства на/(CentOS 7.2) и единственное, что я мог бы сделать для восстановления было удаление/var/lib/docker и начало работы. Благодарю. – e40

+1

У меня вопрос. если бы я выбрал ядерный вариант, все контейнеры будут потеряны, правильно? –

+0

@JuneyoungOh да, даже работает. – VonC

0

Я столкнулся с другой проблемой dm_task_run во время docker import, для моего дела, I yum erase docker.x86_64; yum install docker.x86_64; systemctl start docker.service работает.

22

1) service docker stop

2) thin_check /home/docker/devicemapper/devicemapper/metadata

3) thin_check --clear-needs-check-flag /home/docker/devicemapper/devicemapper/metadata

4) service docker start

+4

Спасибо, это отлично поработало для меня на centos. Проблема началась, когда раздел заполнился. –

+1

работал также отлично для меня на centos 7. такой же вопрос, как @gyaani_guy – ceth

+5

Это сработало для меня, кроме SUSE, путь - это/var/lib/docker/devicemapper/devicemapper/metadata. –

Смежные вопросы