概要
我试图在Docker中挂载主机目录,但是即使访问权限看起来不错,也无法从容器中访问主机目录。
细节
我在做
sudo docker run -i -v /data1/Downloads:/Downloads ubuntu bash
接着
ls -al
它给了我:
total 8892
drwxr-xr-x. 23 root root 4096 Jun 18 14:34 .
drwxr-xr-x. 23 root root 4096 Jun 18 14:34 ..
-rwxr-xr-x. 1 root root 0 Jun 18 14:34 .dockerenv
-rwx------. 1 root root 9014486 Jun 17 22:09 .dockerinit
drwxrwxr-x. 18 1000 1000 12288 Jun 16 11:40 Downloads
drwxr-xr-x. 2 root root 4096 Jan 29 18:10 bin
drwxr-xr-x. 2 root root 4096 Apr 19 2012 boot
drwxr-xr-x. 4 root root 340 Jun 18 14:34 dev
drwxr-xr-x. 56 root root 4096 Jun 18 14:34 etc
drwxr-xr-x. 2 root root 4096 Apr 19 2012 home
以及更多类似的内容(我认为这是相关的部分)。
如果我做
cd /Downloads
ls
结果是
ls: cannot open directory .: Permission denied
主机是Fedora 20,带有Docker 1.0.0和go1.2.2。
怎么了?
这是SELinux问题。
您可以暂时签发
su -c "setenforce 0"
在主机上访问或通过运行添加SELinux规则
chcon -Rt svirt_sandbox_file_t /path/to/volume
特别:
由于Docker最终合并了一个补丁,该补丁将在docker-1.7中显示(最近我们一直在RHEL,CentOS和Fedora的docker-1.6中携带该补丁),因此最近这样做变得更加容易。
此修补程序在卷安装(-v)上增加了对“ z”和“ Z”的支持。
例如:
docker run -v /var/db:/var/db:z rhel7 /bin/sh
将自动执行chcon -Rt svirt_sandbox_file_t /var/db
手册页中所述。
更好的是,您可以使用Z。
docker run -v /var/db:/var/db:Z rhel7 /bin/sh
这将使用与容器一起运行的确切MCS标签来标记容器中的内容,基本上,每个容器chcon -Rt
svirt_sandbox_file_t -l s0:c1,c2 /var/db在s0:c1,c2
不同的MCS标签上运行。
问题内容: 在将非root用户添加到sudoers组的映像构建过程中,无法创建文件夹。这是我的Dockerfile: 我得到错误: 问题答案: Docker容器内的文件系统就像Docker容器外的文件系统一样工作:如果要创建文件或目录,则需要适当的权限。在这种情况下,您尝试以非root用户身份创建(因为该指令更改了用于运行其后所有命令的UID)。那是行不通的,因为它拥有并具有mode 。 请尝试:
Docker安装在AWS EC2 Ubuntu 16.04实例上,如下所示: 引发权限被拒绝错误: 尝试连接到处的Docker守护程序套接字时,权限被拒绝unix:///var/run/docker.sock: 收到http:///var/run/docker.sock/v1.39/info: 拨号unix/var/run/docker.sock:connect:权限被拒绝 显示: uname-a
这是我面临这个问题的一天。我不知道这是因为托管服务器还是我在joomla中的配置。 我正在尝试使用Akeba备份将我的joomla网站上传到ftp。首先,我上传了kickstart。php和Akeba文件的网站,它是成功的。 现在,我做了安装使用akeeba和最后一部分,它显示了一个模式,显示一个按钮"查看您的网站前端"。而不是去网站前端它下载一个index.php文件...我输入http://m
有没有人遇到过这样的情况:当我对一个用户使用管理策略时,它可以工作,但当我使用内联策略时,它说访问被拒绝。我为IAM用户授予了对bucket读取访问权限,即它只能访问bucket。 我也试过这个
问题内容: 我为此付出了一切,所以希望你们能帮助我。在带有docker-machine的OSX 10.11.2中,我有一个docker- compose文件,该文件应构建一个本地Dockerfile并将MySQL容器附加到该文件。MySQL容器应该在我存储数据库数据的地方安装一个本地文件夹,因此,如果容器或VM关闭,我可以重新启动它而不会丢失数据。问题是,当我运行它时,它将引发权限错误: 我已经尝