docker - Docker为什么绑定挂载后权限错误?
问题描述
我正在将我的主机安装/tmp/docker
到/home/vault/tmp/
我的容器中,但我容器中的用户vault
没有写入权限,即使在我的主机上,/tmp/docker
设置为777
,uid
并且gid
主机和容器中的值也设置为相同。如何解决此问题并确保我的用户vault
具有写入/所有者权限?
主持人
$ ls -la /tmp/docker/
total 8
drwxrwxrwx 2 ron ron 4096 Feb 5 19:34 .
drwxrwxrwt 12 root root 4096 Feb 13 09:49 ..
ron@ENGDEV:~/novax-prs/docker$ id -u; id -g
1003
1003
来宾
$ ls -la /home/vault/tmp/
total 8
drwxr-xr-x 2 root root 4096 Feb 13 06:47 .
drwxr-xr-x 1 vault vault 4096 Feb 13 18:06 ..
vault@novax_prs_build:~$ id -u; id -g
1003
1003
绑定挂载
docker run -it \
-e LOCAL_USER_ID=`id -u` \
--user "$(id -u):$(id -g)" \
-v ${dir}:/home/vault/ccimx6ulstarter \
-v /tmp/docker:/home/vault/tmp:Z \
${name}
有趣的是,该/home/vault/ccimx6ulstarter/
目录具有用户在容器中正确设置的权限。
解决方案
您的 /tmp 文件夹可能使用的 tmpfs 的行为与 ext4 不同,尤其是在涉及 SELinux 标签时(带有:Z
选项)。
尝试使用位于 ext4 文件系统上的文件夹。
推荐阅读
- elasticsearch - 在具有多个字段的弹性搜索中使用 cutoff_frequency
- ios - Cordova:iOS 10 中的 WKWebView 与 UIWebView
- reactjs - 如何从 react-router v1 迁移到 v4 ?{this.props.children}
- javascript - 使用 youtube iframe 播放器 API 播放背景视频
- javascript - JS Summernote 填充两个元素
- java - 为什么Wildfly 12 中的@Resource 注入需要“java:/”前缀?
- java - 春季可定制的方面
- android - 受信任的 Web 活动/给定的 CustomTabsIntent 应与有效的 CustomTabsSession 相关联
- java - 在 Android Studio 中使用 jssc
- android-studio - AndroidStudio 3.1.2 突然将导入显示为未解析