我启动了Docker容器:
VirtualBox:~$ sudo docker run --name rabbitmq -d -p 0.0.0.0:5672:5672 -p 0.0.0.0:15672:15672 bitnami/rabbitmq
一切正常,容器正在工作。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd3d12133774 bitnami/rabbitmq:latest "/app-entrypoint.sh …" 37 minutes ago Up 37 minutes 0.0.0.0:4369->4369/tcp, 0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp, 0.0.0.0:25672->25672/tcp sad_knuth
203500ee7f1e bitnami/rabbitmq "/app-entrypoint.sh …" 5 hours ago Up 5 hours 0.0.0.0:5672->5672/tcp, 4369/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp rabbitmq
当我使用命令时:
docker stop 203500ee7f1e
或
docker stop rabbitmq
什么都没发生(错误):
VirtualBox:~$ docker stop rabbitmq
Error response from daemon: cannot stop container: rabbitmq: Cannot kill container 203500ee7f1eb09bf0ecb2fdaf2041f4da27990a3654bca90b808a3ec36238cf: unknown error after kill: docker-runc did not terminate sucessfully: container_linux.go:393: signaling init process caused "permission denied"
: unknown
输出Docker版本
VirtualBox:~$ docker version
Client:
Version: 18.06.0-ce
API version: 1.38
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:09:54 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.0-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:07:56 2018
OS/Arch: linux/amd64
Experimental: false
输出Docker信息
VirtualBox:~$ docker info
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 2
Server Version: 18.06.0-ce
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 logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d64c661f1d51c48782c9cec8fda7604785f93587
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-29-generic
Operating System: Ubuntu 18.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.852GiB
Name: ivanpuzyrev-VirtualBox
ID: 2LAE:PADC:VVDH:G2OW:MWUD:IRTS:CRNU:J727:DDEV:ZYBS:GTGG:SIOI
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
请帮助!!!什么都没发生。也许您有什么想法?
答案 0 :(得分:2)
我遇到了同样的问题,我通过使用此命令在 docker 容器中执行 shell 解决了它
docker exec -it imagebase bash
然后发出 kill 1
命令。
答案 1 :(得分:1)
由于您以'sudo'身份运行docker,因此必须以'sudo'特权将其停止
stop容器
sudo docker stop 203500ee7f1e
到remove容器
sudo docker rm 203500ee7f1e
如果要停止并卸下所有容器,则以下命令将很有用
sudo docker stop $(docker ps -a -q) && sudo docker rm $(docker ps -a -q)
答案 2 :(得分:1)
我将不同意每个建议使用sudo的人。 docker命令将api调用发送到守护程序,如果需要sudo来运行该命令,则从连接到docker套接字的失败中可以知道。守护程序本身应以root用户身份运行。
对我来说,许可错误似乎是由AppArmor策略引起的,也可能只是引擎/容器/运行程序中的错误。您还正在运行Ubuntu 18.04,该docker仅在最近才添加了支持,因此,如果可能,请尝试运行稍旧的Ubuntu LTS版本,或查看Edge / nightly版本之一是否解决了该问题。在短期内,您可能会幸运地重新启动docker引擎(systemctl restart docker
),并且可能重新启动整个主机,以查看是否可以解决问题。
答案 3 :(得分:0)
以超级用户身份尝试
sudo docker container stop rabbitmq
答案 4 :(得分:0)
尝试杀死它:
sudo docker kill rabbitmq
这将强制停止,但不会移除容器。
答案 5 :(得分:0)
尝试重新加载守护程序并重新启动docker,然后删除所有容器。
在Linux上:
$sudo systemctl daemon-reload
$sudo systemctl restart docker
$docker ps –qa|xargs docker rm
在Win.10上:
$docker stop $(docker ps -a -q)
$docker ps -qa|xargs docker rm
答案 6 :(得分:0)
您需要使用rabbitmqctl告诉rabbitmq退出:
docker exec rmq rabbitmqctl stop
(将rmq替换为您的容器名称)
进程安全停止后,docker容器应关闭。
答案 7 :(得分:0)
在Debian GNU / Linux 10(buster)上用snap安装docker之后,我遇到了同样的问题。在删除快照docker版本并根据https://docs.docker.com/engine/install/debian/#install-using-the-repository安装docker之后
和
https://docs.docker.com/engine/install/linux-postinstall/最多通过$ sudo systemctl enable docker
配置Docker在启动时启动
重启后,$ docker stop name-of-container
起作用了。
答案 8 :(得分:0)
This answer 在 docker 方面也帮助了我:
之后
sudo aa-remove-unknown
问题立即消失,docker stop
将再次按预期工作。这是由于 Apparmor 服务的一些问题。