无法在Docker中使用userns重映射

时间:2016-08-18 10:11:02

标签: ubuntu docker

Docker似乎在Ubuntu 16.04中遇到了LXC的一些问题。我根据这个要点删除了LXC:https://gist.github.com/estesp/e37b06e51384fa0ad6067af42a693925

然而现在我得到了

$ docker run --rm busybox date
docker: Error response from daemon: oci runtime error: rootfs_linux.go:42: preparing rootfs caused "permission denied".

我不确定从何处可以使用userns-remap功能。

此处参考我的docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/docker daemon -H fd:// --userns-remap=Default --graph /media/externaldrive/docker
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

[Install]
WantedBy=multi-user.target

1 个答案:

答案 0 :(得分:0)

目前这是一个错误。正如码头成员Phil Estes" estesp"所述,以下是said

  

这是一个权限错误,因为权限/访问权限更有限   提供的路径中的现有目录--graph

现在这是作为docker github问题跟踪器的错误提交的:

https://github.com/docker/docker/issues/25847

如提交https://github.com/estesp/docker/blob/43a1df6be2fa0c76b521680bbd5dc84db2cfd898/daemon/daemon_unix.go#L1018

所述

图表目录需要main: mov eax, edi xor eax, 8 ret 权限才能使用docker。在目录上使用o+x后,我可以使用userns重新映射。