Не удается остановить контейнер docker

#docker #docker-compose

#docker #docker-compose

Вопрос:

Я очень новичок в docker. Я следую руководству по этому вопросу.

Я могу успешно создать и запустить свой контейнер docker.

 docker build .
docker run -p 3000:3000 3cd35580990c
 

Но когда я пытаюсь остановить контейнер

 docker stop ef485ea0dabd
 
 Error response from daemon: cannot stop container: ef485ea0dabd: Cannot kill container ef485ea0dabda4939e7cc371408937174bf282a82e169c0fc71c2cf2b0b7bf74: unknown error after kill: runc did not terminate sucessfully: container_linux.go:392: signaling init process caused "permission denied"
: unknown
 

Я получил эту длинную ошибку об отказе в разрешении.

Как я могу это решить?

Комментарии:

1. Вы пробовали sudo docker stop <id> ?

2. @mxmissile — это имя образа, а не идентификатор контейнера. В этом примере идентификатор контейнера ef485ea0dabd.

Ответ №1:

Ваша команда stop верна, если вы хотите, чтобы контейнер остановился. Однако это не приведет к удалению контейнера. Чтобы удалить остановленный контейнер, вы должны использовать

 docker container rm <id>
 

Если контейнер запущен (а не остановлен), вы можете принудительно удалить его с помощью

 docker container rm -f <id>
 

Вы можете уничтожить и удалить все контейнеры (запущенные и остановленные) с помощью этой команды:

 docker container rm -f $(docker ps -qa)
 

Чтобы увидеть, какие контейнеры у вас есть в данный момент, вы можете использовать:

 docker ps
 

Но это показывает только запущенные контейнеры. Если вы хотите также увидеть остановленные контейнеры, вы можете сделать это:

 docker ps -qa