Документация ispmanager 6 business

Проблемы с Docker

 

Проблема

Не удаляется dead контейнер.

Решение

Способ 1

Если вы получили сообщение похожее на это:

Error response from daemon: Cannot destroy container elated_wozniak: Driver devicemapper failed to remove root filesystem 656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3: Device is Busy

То запустите следующую команду:

$ umount /var/lib/docker/devicemapper/mnt/656cfd09aee399c8ae8c8d3e735fe48d70be6672773616e15579c8de18e2a3b3

Способ 2

Вы также можете удалить контейнеры dead с помощью этой команды:

$ docker rm $(docker ps --all -q -f status=dead)

Способ 3

Ошибка:

Error response from daemon: driver "overlay" failed to remove root filesystem for : remove /var/lib/docker/overlay//merged: device or resource busy
  1. Проверьте, какие другие процессы также используют ресурсы docker:
    $ grep docker /proc/*/mountinfo
  2. Найдите процесс, который выводит что-то похожее на это, с числом после /proc/ равным pid:
    /proc/10001/mountinfo:179...
    /proc/10002/mountinfo:149...
    /proc/12345/mountinfo:159 149 0:36 / /var/lib/docker/overlay/...
  3. Проверьте имя процесса выше pid:
    $ ps -p 10001 -o comm=
    dockerd
    $ ps -p 10002 -o comm=
    docker-containe
    $ ps -p 12345 -o comm=
    nginx   <<<-- This is suspicious!!!
  4. Есть предположение, что nginx с pid 12345 также использует /var/lib/docker/overlay/..., поэтому не стоит удалять связанный контейнер. Иначе это может вызвать ошибку "device or resource busy".
  5. Остановите nginx:
    $ service nginx stop
  6. Удалите контейнер:
    $ docker rm <container-id>
  7. Запустите процесс:
    $ service nginx start
    Если процессов много, то лучше перезагрузить систему.