Чем мы можем вам помочь?

Описание проблемы:

При запуске docker-контейнеров со статусом Exited появляется ошибка «Id already in use».

Решение:

1. Вывести список процесов с помощью команды:

for i in $(docker ps -a -f status=exited --format '.ID'); do ps aux | grep $i | head -1; done

2. Остановить процесссы из списка с помощью следующей команды:

for i in $(docker ps -a -f status=exited --format '.ID'); do proc_id=$(ps aux | grep $i | head -1 | awk '{print $2}'); kill $proc_id; done

3. Удалить каталоги с  помощью команды:

for i in $(docker ps -a -f status=exited --format '.ID'); do rm -rf /run/docker/containerd/$i*; done

4. Проверить имена каталогов, соответствующие ID Exited контейнеров в следующих директориях: /var/run/docker/runtime-runc/moby/ и  /run/docker/runtime-runc/moby/.

5. Повторно выполнить удаление каталогов, заменив путь до конечного каталога, с помощью команды:

for i in $(docker ps -a -f status=exited --format "{{.ID}}"); do rm -rf /var/run/docker/runtime-runc/moby/$i*; done

6. Запустить Exited контейнеры:

docker ps -a -f status=exited --format '.ID' | xargs --no-run-if-empty docker restart

Был ли материал полезным?
Да
Нет
Предыдущее
Переполнение диска данными мониторинга
Следующее
Настройка кэширования негативных ответов в Unbound