Команда Docker kill не работает: невозможно убить контейнер

Я пытаюсь убить (принудительно остановить) контейнер MySQL DB, и он отказывается умирать:

$ docker kill 55718df7a9d6
Error response from daemon: Cannot kill container: 55718df7a9d6: Container 55718df7a9d6600501bbd248fe0c1ef7da3f970fea84461cbe5f10c70f0cbe22 is not running
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES
55718df7a9d6        mysql:8             "docker-entrypoint.s…"   3 minutes ago       Restarting (1) 58 seconds ago                       my-main-db

Когда я пытаюсь его убить:

$ docker stop 55718df7a9d6
55718df7a9d6
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES
55718df7a9d6        mysql:8             "docker-entrypoint.s…"   19 minutes ago      Restarting (1) 17 minutes ago                       my-main-db

Как я могу заставить это умереть и очистить, чтобы docker ps не возвращал результатов?

Вы можете использовать docker stop 55718df7a9d6, чтобы удалить его, поскольку он не работает.

Saeed 06.04.2021 22:14
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
1
24
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам следует попробовать использовать команду docker stop <id>, поскольку ваш контейнер перезагружается, если вы попытаетесь убить его, пока он не запущен, вы получите ошибку, указанную выше.

Обновление ответа на основе вашего нового редактирования

Вы можете принудительно удалить свой контейнер, выполнив docker rm <container_id> -f, а затем воссоздать его.

Спасибо @EdwardKirk (+1), я должен был упомянуть, что пробовал это раньше. Пожалуйста, посмотрите мои правки. Как сделать так, чтобы docker ps не показывал результатов?

hotmeatballsoup 06.04.2021 22:23

Если он застрял в цикле перезапуска, вы можете попытаться принудительно удалить docker rm 55718df7a9d6 -f, а затем воссоздать его.

EdwardKirk 06.04.2021 22:29
Ответ принят как подходящий

Используйте сокращение --force или -f для принудительного удаления контейнера.

docker rm -f <your-container-name or id>

Другие вопросы по теме