Как прекратить запуск Контейнера, если ответ от демона об ошибке: "Не удается убить разрешение [...] Контейнера?"
Сложная задача: Каждый раз, когда я пытаюсь остановить или убить работающий контейнер, я получаю отказ в разрешении в качестве сообщения об ошибке от Daemon.
Я только начал изучать, как использовать докер с помощью виртуальной машины Ubuntu18.04. Я впервые запустил контейнер. Я не мог остановить это, но по крайней мере это бежало. Теперь, после того, как я попытался запустить другое изображение "furtuas/daisitory:image_available_first_ms", все стало хуже. Два контейнера работают, я не могу остановить ни один из них. Я попытался перезапустить Docker, но контейнеры все еще работают с той разницей, что localhost больше не работает. Может быть, это случилось, потому что я бегал на том же хосте, что и раньше
Я не знаком с докером, убунту, терминалом и т. Д. Буду признателен за подробные ответы для начинающих
$ docker info
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 8
Server Version: 18.09.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 96ec2177ae841256168fcf76954f7177af9446eb
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-43-generic
Operating System: Ubuntu 18.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 3.83GiB
Name: dai-2
ID: ULKT:IYPB:L6GI:VQWG:FZQX:J6G6:OWOU:DP5M:KQFC:PWBJ:HEMA:VDIT
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: icoe
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
WARNING: No swap limit support
$ docker version
Client:
Version: 18.09.1
API version: 1.39
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:35:31 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.1
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 4c52b90
Built: Wed Jan 9 19:02:44 2019
OS/Arch: linux/amd64
Experimental: false
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
furtuas/daisitory image_available_first_ms 64b3943856a0 6 days ago 660MB
icoe/dockerimageavailable first_ms 64b3943856a0 6 days ago 660MB
dockerimageavailable latest 64b3943856a0 6 days ago 660MB
my-maven latest 704b027074fb 6 days ago 660MB
dockerimagedetails latest 2da0a7987c2a 6 days ago 643MB
dockerimage latest af97e6623a8c 6 days ago 643MB
maven latest 3bc97dc2e7ba 3 weeks ago 832MB
java 8 d23bdf5b1b1b 2 years ago 643MB
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
66c6c49a95f4 furtuas/daisitory:image_available_first_ms "java -jar /car-pool…" 3 hours ago Up 3 hours first_ms_test
8e0646cc95f8 704b027074fb "java -jar /car-pool…" 6 days ago Up 6 days 0.0.0.0:8080->8080/tcp container_available
$ docker stop first_ms_test
Error response from daemon: cannot stop container: first_ms_test: Cannot kill container 66c6c49a95f499abeb62b1c02e7e9b8ce1739709bb2140ba7b1a61094a9d16f7: unknown error after kill: runc did not terminate sucessfully: container_linux.go:387: signaling init process caused "permission denied"
: unknown
$ docker container rm -f first_ms_test
Error response from daemon: Could not kill running container 66c6c49a95f499abeb62b1c02e7e9b8ce1739709bb2140ba7b1a61094a9d16f7, cannot remove - Cannot kill container 66c6c49a95f499abeb62b1c02e7e9b8ce1739709bb2140ba7b1a61094a9d16f7: unknown error after kill: runc did not terminate sucessfully: container_linux.go:387: signaling init process caused "permission denied"
: unknown
Пожалуйста помоги.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
66c6c49a95f4 furtuas/daisitory:image_available_first_ms "java -jar /car-pool…" 3 hours ago Up 3 hours first_ms_test
8e0646cc95f8 704b027074fb "java -jar /car-pool…" 6 days ago Up 6 days 0.0.0.0:8080->8080/tcp container_available
После выхода из виртуальной машины все тот же ответ:
$ docker stop 66c6c49a95f4
Error response from daemon: cannot stop container: 66c6c49a95f4: Cannot kill container 66c6c49a95f499abeb62b1c02e7e9b8ce1739709bb2140ba7b1a61094a9d16f7: unknown error after kill: runc did not terminate sucessfully: container_linux.go:387: signaling init process caused "permission denied"
: unknown
9 ответов
Я решил это, но я не уверен, почему. Я думаю, что я решил это, перезапустив ВМ и перезапустить докер с этими командами
Флеш изменения: $ sudo systemctl daemon-reload
Перезапустите Docker: $ sudo systemctl restart docker
Этот ответ помог мне в решении этой проблемы
Выполнятьsudo aa-remove-unknown
Как только он будет успешно выполнен,docker stop
команда будет работать.
Используйте трюк:
sudo killall docker-containerd-shim
освободить docker
из остановленного контейнера застрял вот так
Ты пытался docker stop <container-id>
или же docker kill <container-id>
?
Примечание: использовать docker ps -a
получить идентификаторы контейнера
Кроме того, вы используете sudo
или вошли как root
?
Возможно, это было безопасностью Ubuntu и, в частности, вызваноapparmor.
В этом случае вы должны были добавить в докер запуск
--security-opt apparmor:unconfined
. Это кажется предпочтительным, чем удаление apparmor.
например, попробуйте:
docker run --security-opt apparmor:unconfined -ti ubuntu bash
тогда попробуйте
docker stop
и посмотрите, как это работает!
Мне не удалось остановить контейнер, поэтому я просто перезапустил службу containerd, и она сработала ->sudo systemctl перезапустить containerd
Как описано здесь, проверьте, имеет ли сценарий точки входа шебанг, начинающийся с:
#!/bin/bash -xe
система предотвратит остановку контейнера. Чтобы исправить это, измените ваш сценарий входа без "е"
#!/bin/bash -x
ни одна из этих команд не работает, просто перезагрузите хост, но это означает, что все запущенные контейнеры остановлены, и мне нужно решение для этого, если кто-то может помочь, обратите внимание:
--security-opt apparmor:unconfined
заставляет хост не работать, и команды докера перестают работать, и мне пришлось перестраивать другие контейнеры
У меня такая же проблема. Были некоторые конфликты с сервисом apparmor. В Ubuntu я мог решить эту проблему, переустановив apparmor:
- sudo apt-get purge apparmor
- sudo apt-get install apparmor
- sudo /etc/init.d/apparmor start