Завершение работы всех контейнеров докеров

Я только что обнаружил, что service docker stop в Ubuntu 18.04 не завершает работу всех запущенных контейнеров. Я больше не могу их контролировать, но процессы containerd-ship и все, что находится внутри контейнеров, все еще работает (но не достижимо, возможно, из-за того, что сеть была удалена).

Кроме того, остановка containerd не работает. ничего не меняет, потому что по замыслу это не останавливает контейнеры.

И даже после killall containerd-shim , что уже довольно сложно, некоторые процессы все еще работают, например gunicorn ] из gitlab, backuppc и экземпляра Linux UML

Как мне полностью завершить работу всех работающих контейнеров? Из-за текущего поведения моя система зависает при выключении.

Обновление : Я только что увидел, что использую репо ( https://download.docker.com/linux/ubuntu ]) из учебника Kubernetes (которым я еще не пользуюсь). Этот источник содержит проприетарные версии containerd.io, docker-ce и docker-ce-cli

1
задан 18 May 2020 в 10:42
2 ответа

В моей установке Ubuntu 18.04 systemctl stop docker завершает работу всех запущенных контейнеров. systemctl start docker снова запускает все контейнеры. Я согласен с BMitch, для диагностики проблемы потребуется дополнительная информация о вашей установке.

Другой способ выключить все работающие контейнеры:

docker ps -q | xargs docker stop
0
ответ дан 4 January 2021 в 08:45

Проблема решена.

] Главное было то, что у меня был дополнительный репозиторий прямо из докера ( https://download.docker.com/linux/ubuntu ), в котором были проприетарные версии containerd.io, docker-ce и docker. -ce-cli. С другой стороны, вселенная Ubuntu даже не была в моем /etc/apt/source.list .

Теперь я обновился до 20.04 и использую оригинальные пакеты докеров (docker.io) из вселенной ubuntu. Это работает нормально и отключается, как ожидалось. Я уверен, что это также сработало бы 18.04, но я хотел избежать понижения версии докера путем переключения репо.

1
ответ дан 4 January 2021 в 08:45

Теги

Похожие вопросы