Docker容器无法写入卷

时间:2018-04-30 16:15:51

标签: docker

我有一个容器,我只有图像,没有Dockerfile。我在Centos7 VM中运行此容器。容器以:

启动
docker run -it -v /mydir:/data container_image bash

这是Centos7所以有一些SELinux,但通常一切都是可写的:

# file: mydir
# owner: root
# group: root
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

但是在容器中的bash会话中:

bash-4.3# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
bash-4.3# ls -ald /data
drwxrwxrwx    2 root     root            20 Apr 30 15:28 /data
bash-4.3# touch /data/somefile
touch: /data/somefile: Permission denied
bash-4.3# mkdir /data/somedir
mkdir: can't create directory '/data/somedir': Permission denied

所以,我是root用户,该目录显示为普遍可写,但我无法写入...

束手无策。

PS:/ data实际上是主机上的正确目录,我在主机上放了一个标记文件,我在容器中看到了标记。

1 个答案:

答案 0 :(得分:0)

所以,问题确实在于SELinux,它具有对容器的特定处理,如here所述。由于这仅用于测试,我不能花时间来理解SELinux,修复是暂时禁用SELinux,如here所示。