ubuntu 16.04上的docker杀死容器时出错

我无法杀死或停止任何泊坞窗容器。我已允许非特权用户运行Docker命令。并且docker run hello-

world工作正常。但是我无法停止其他任何容器。

我得到了:

$ docker stop 59e3b815d1dc

Error response from daemon: cannot stop container: 59e3b815d1dc:

Cannot kill container 59e3b815d1dcf2d8c8bcd3dd641c3c033b83ac68ea2f0257a32a76468af7374c:

unknown error after kill: docker-runc did not terminate sucessfully:

container_linux.go:393: signaling init process caused "permission denied"

: unknown

与sudo相同的错误。同时,所有容器都可以成功运行,但是要停止它们,只能完全重新引导系统。

Docker撰写示例:#使用postgres / example用户/密码凭证版本:“ 3.1”

services:

db:

image: postgres

restart: always

environment:

POSTGRES_PASSWORD: example

adminer:

image: adminer

restart: always

ports:

- 8080:8080

Docker信息:

$ docker info

Containers: 7

Running: 2

Paused: 0

Stopped: 5

Images: 10

Server Version: 17.12.1-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: 9b55aab90508bd389d7654c4baf173a981477d55

runc version: 9f9c96235cc97674e935002fc3d78361b696a69e

init version: 949e6fa

Security Options:

apparmor

seccomp

Profile: default

Kernel Version: 4.4.0-116-generic

Operating System: Ubuntu 16.04.4 LTS

OSType: linux

Architecture: x86_64

CPUs: 4

Total Memory: 11.61GiB

Name: peter-pen

ID: P6FS:C76H:WIAO:LCWC:TCHT:JEYB:6W3M:HXYD:S4E2:KTUZ:2T3Q:3GPI

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

回答:

AppArmor(应用程序装甲)是Linux安全模块,可保护操作系统及其应用程序免受安全威胁。要使用它,系统管理员会将AppArmor安全配置文件与每个程序相关联。Docker希望找到一个已加载并强制执行的AppArmor策略。使用以下方法检查默认配置文件:

# sudo apparmor_status

要在容器上使用docker默认配置文件,请运行:

$ docker run --rm -it --name test-container --security-opt apparmor=docker-default image-name

您可以使用以下命令禁用它:

--security-opt apparmor=unconfined

使用docker run命令。

要禁用apparmor服务,请使用:

# systemctl stop apparmor && systemctl disable apparmor

对于Ubuntu 14.使用:

# service apparmor stop

# update-rc.d -f apparmor remove

建议为Docker apparmor设置工作配置文件,而不是禁用它,特别是对于生产设置。

在AppArmor上确保容器安全,请参阅此Google文档。

https://cloud.google.com/container-optimized-os/docs/how-to/secure-

apparmor

以上是 ubuntu 16.04上的docker杀死容器时出错 的全部内容, 来源链接: utcz.com/qa/415181.html

回到顶部