Невозможно остановить, убить или удалить контейнер Docker - PullRequest
0 голосов
/ 19 июня 2019

У меня уже 5 недель работает контейнер, который я не могу ни остановить, ни убить, ни удалить.docker ps показывает это (на самом деле оба контейнера не могут быть удалены):

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
431a850b384f        f99983306232        "cmd /c 'start /B C:…"   5 weeks ago         Up 5 weeks          0.0.0.0:80->80/tcp   dockercompose18429431017078490850_xxx_1
e31f0b74a8cb        50eef858d93d        "cmd /c 'start /B C:…"   6 weeks ago         Up 6 weeks          0.0.0.0:80->80/tcp   dockercompose15856640072218908353_xxx_1

docker stop e31 и docker kill e31 просто повесили трубку и ничего не делают.docker rm e31 показывает ошибку:

Error response from daemon: removal of container e31 is already in progress

Если я запускаю docker inspect e31 Я вижу, что контейнер работает, он не мертв:

    "Id": "e31f0b74a8cb8225d5104f8de7e1c583ed1852133ad2870015017b09d3df8dfa",
    "Created": "2019-05-08T06:57:24.3143863Z",
    ...
    "State": {
        "Status": "running",
        "Running": true,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 1324,
        "ExitCode": 0,
        "Error": "",
        "StartedAt": "2019-05-08T06:57:30.3396878Z",
        "FinishedAt": "0001-01-01T00:00:00Z"
    },
  ...

Как от него избавиться?

Информация о системе:

  • Версия сервера: 19.03.0-rc2

  • Операционная система: Windows 10 Pro Версия 1903 (Сборка ОС 18362.175)

Ответы [ 4 ]

0 голосов
/ 23 июня 2019

Я также сталкивался с этим несколько раз.Чтобы остановить «зависший» контейнер, я сделал -

  1. docker ps для отображения идентификатора контейнера
  2. net stop docker - остановил механизм докера (обратите внимание, что все контейнеры остановятся)
  3. Удалить папку в c:\programdata\docker\containers, имя которой начинается с идентификатора, начиная с шага 1
  4. net start docker - запустить механизм докера

К сожалению, сервис докера все еще должен быть остановлени начал, но по крайней мере мне не пришлось переустанавливать.

0 голосов
/ 19 июня 2019

Хорошо, попробуйте две нижеприведенные команды: сначала остановите контейнер, а затем удалите его, если он был создан с помощью Dockerfile.

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Для docker-compose используйте эту команду для удаления прикрепленных контейнеров

docker-compose down
0 голосов
/ 19 июня 2019

Это может звучать слишком радикально, но я только что переустановил Docker. Избыточные контейнеры исчезли. Наконец-то.

0 голосов
/ 19 июня 2019

Вы убиваете контейнер по его имени, из вывода на OP правильная команда должна быть:

docker kill dockercompose15856640072218908353_xxx_1

См. здесь для получения дополнительной информации. Попробуйте и дайте мне знать, сработало ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...