了解 Docker 卷
Understanding Docker volumes
我正在尝试学习 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
这部分是 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
我正在尝试学习 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
这部分是 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