#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