我试图让我的Docker容器读取和写入主机目录。
我用:
运行容器docker run -it -v $(pwd):/file logstash-5.1.2
在容器内部,我可以看到/ file在主机上具有我(非root)用户的uid,并且具有与主机上相同的权限:
drwxrwxrwx. 2 1156 1156 4096 Jul 21 05:00 file
并且root无法访问/文件。
root@c642b0c37e09:~# ls /file
ls: cannot open directory /file: Permission denied
我已经阅读了有关在容器中使用与主机相同的uid创建用户的帖子,但这似乎不受欢迎。
答案 0 :(得分:0)
您应该将上下文更改为svirt_sandbox_file_t,以允许容器在此上下文中访问此文件夹。
如果您确定文件夹权限,那么只需尝试;
chcon -R -t svirt_sandbox_file_t /your/host/path
如果不确定尝试;
chown -R groupId:userId /your/host/path
chcon -R -t svirt_sandbox_file_t /your/host/path
在这里,chcon命令应用SELinux上下文,将“/ your / host / path”的上下文更改为svirt_sandbox_file_t。