【问题标题】:Docker run throws error when user namespaces are used with SELinux on当用户命名空间与 SELinux 一起使用时,Docker 运行会引发错误
【发布时间】:2018-08-10 21:06:40
【问题描述】:

我正在尝试让 Docker 用户命名空间与在 Centos 7.5 上启用的 SELinux 一起工作。但是,我每次都会收到此错误:

docker run -itd --name temp -p 80:80 httpd

1a83588651b407e547881e15190b6d39692a7a2cf2df73dcaf4f37730ebdca65
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 40\"": unknown.

如果我打开 SELinux,这不会发生。

这是我的 /etc/docker/daemon.json:

{
"userns-remap": "dockerspace",
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"],
"tls": true,
"tlscacert": "/etc/pki/tls/certs/docker-ca.pem",
"tlscert": "/etc/pki/tls/certs/docker-cert.pem",
"tlskey": "/etc/pki/tls/private/docker-key.pem",
"tlsverify": true,
"selinux-enabled": true
}

uname -a 输出:

Linux atlantis.newtarget.net 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

cat /proc/cmdline 输出:

BOOT_IMAGE=/vmlinuz-3.10.0-862.9.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 namespace.unpriv_enable=1 user_namespace.enable=1

非常感谢任何帮助。谢谢。

【问题讨论】:

    标签: docker selinux linux-namespaces


    【解决方案1】:

    当我遇到该错误时,您的情况比我做的要多,但是这里有!

    根据您的 cat /proc/cmdline 输出,您似乎已经完成了:

    sudo grubby --args="namespace.unpriv_enable=1" --update-kernel=/boot/vmlinuz-$(uname -r) 您可能需要重新启动才能使其生效(如果您还没有)。

    您还需要确保 /proc/sys/user/max_user_namespaces 中的值至少大于 0:

    echo 12345 > /proc/sys/user/max_user_namespaces

    这些设置以及配置 [/etc/subuid、/etc/subgid、/etc/docker/daemon.json] 对我来说在启用 selinux 的情况下工作得很好。 docker documentation on user namespacing, how to configure the above files (must be done manually for each on centos/rhel)

    【讨论】:

    • 您好,感谢您的建议。但是,我尝试了您在此处发布之前建议的所有选项(grub 更新、max_user_namespaces、subuid、gid 等):-(
    猜你喜欢
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 2016-09-14
    • 2021-08-26
    相关资源
    最近更新 更多