docker - Docker 容器无法在卷上写入
问题描述
我有一个容器,我只有图像,没有 Dockerfile。我在 Centos7 虚拟机中运行这个容器。容器开始于:
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确实是宿主机上的正确目录,我在宿主机里面放了一个marker文件,在容器中就看到了marker。
解决方案
推荐阅读
- twilio - 如何在我的 php 应用程序中存储来自 twilio 的发送和传入消息?
- javascript - 在href中包含特定字符串的Fnd链接并仅使用javascript删除斜线之间的href
- regex - 删除双单引号但不删除单引号
- c - 向结构添加值,在 C 中添加出错
- ios - Tableview单元格多个复选标记选择将单元格数据添加到单个数组Swift 4.2中?
- javascript - Angular 7 中的 $location.search() 等效项
- laravel - 504 网关超时 nginx/1.15.8 Laravel Socialite
- sas - proc transreg不输出曲线拟合图
- mongodb - nosql 数据结构不一致
- java - 方法已定义且未被类识别