【发布时间】:2021-05-17 04:14:20
【问题描述】:
我在容器中将主机 /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/ 目录的用户在容器中设置了正确的权限。
【问题讨论】:
-
不久前我看到了这个问题,this 是问题所在。有帮助吗?
-
不,不幸的是,在路径后面添加
:Z似乎对我不起作用,我将行更改为-v /tmp/docker:/home/vault/tmp:Z,但在容器内仍归root所有 -
也许你想要
--user "$(id -u):$(id -g)"? -
我已将其添加到我的
run命令中,但仍然不行,我还更新了顶部的原始帖子。
标签: docker permissions mount