Как прекратить запуск Контейнера, если ответ от демона об ошибке: «Не удается убить разрешение [...] Контейнера?» - PullRequest
0 голосов
/ 20 января 2019

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

Я только начал изучать, как использовать докер с помощьюUbuntu18.04 VM.Я впервые запустил контейнер.Я не мог остановить это, но по крайней мере это бежало.Теперь, после того, как я попытался запустить другой образ "furtuas / daisitory: image_available_first_ms", все стало хуже.Два контейнера работают, я не могу остановить ни один из них.Я попытался перезапустить Docker, но контейнеры все еще работают с той разницей, что localhost больше не работает.Может быть, это случилось, потому что я работал на том же хосте, что и раньше

Я не знаком с докером, Ubuntu, терминалом и т. Д. Я был бы признателен за подробные ответы для начинающих

$ 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

Ответы [ 5 ]

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

Используйте трюк:

sudo killall docker-containerd-shim

чтобы освободить docker от остановленного контейнера, застрявшего вот так

0 голосов
/ 29 апреля 2019

как описано здесь проверьте, имеет ли скрипт точки входа shebang , начиная с:

#!/bin/bash -xe

, система будет препятствовать остановке контейнера.Чтобы исправить это, измените ваш сценарий входа без "e"

#!/bin/bash -x
0 голосов
/ 28 января 2019

Я решил это, но я не уверен, почему. Я думаю, что решил это, перезапустив ВМ и перезапустив докер с этими командами

Флеш изменения: $ sudo systemctl daemon-reload
Перезапустите Docker: $ sudo systemctl restart docker

0 голосов
/ 20 марта 2019

У меня была такая же проблема.Были некоторые конфликты с сервисом apparmor.В Ubuntu я мог решить эту проблему, переустановив apparmor:

- sudo apt-get purge apparmor
- sudo apt-get install apparmor
- sudo /etc/init.d/apparmor start
0 голосов
/ 20 января 2019

Вы пробовали docker stop <container-id> или docker kill <container-id>?

Примечание: используйте docker ps -a для получения идентификаторов контейнеров

Кроме того, вы используете sudo или зарегистрированы как root?

...