了解Docker卷

时间:2018-06-02 23:54:07

标签: docker docker-volume

我正在尝试学习Docker卷,我使用centos:latest作为我的基本图像。当我尝试运行Docker命令时,我无法访问容器内的附加卷:

命令:

sudo docker run -it --name test -v /home/user/Myhostdir:/mydata centos:latest /bin/bash

错误:

[user@0bd1bb78b1a5 mydata]$ ls
ls: cannot open directory .: Permission denied

当我尝试ls查找文件夹权限时,它会显示1001.发生了什么,以及如何解决此问题?

drwxrwxr-x.   2 1001 1001    38 Jun  2 23:12 mydata

我的本​​地机器:

[user@xxx07012 Myhostdir]$ pwd
/home/user/Myhostdir
[user@swathi07012 Myhostdir]$ ls -al
total 12
drwxrwxr-x.  2 user user   38 Jun  2 23:12 .
drwx------. 18 user user 4096 Jun  2 23:11 ..
-rw-rw-r--.  1 user user   15 Jun  2 23:12 text.2.txt
-rw-rw-r--.  1 user user   25 Jun  2 23:12 text.txt

1 个答案:

答案 0 :(得分:1)

这部分是Docker问题,但主要是SELinux问题。我假设您正在运行旧版1.x版本的Docker。

你有几个选择。首先,您可以查看this blog post以更多地了解问题并可能使用此处提到的修复。

或者您可以升级到较新版本的Docker。我测试了在Docker版本18.03.1-ce上安装一个简单的卷:

docker run -it --name test -v /home/chris/test:/mydata centos:latest /bin/bash

[root@bfec7af20b99 /]# cd mydata/
[root@bfec7af20b99 mydata]# ls
test.txt.txt
[root@bfec7af20b99 mydata]# ls -l
total 0
-rwxr-xr-x 1 root root 0 Jun  3 00:40 test.txt.txt