相关疑难解决方法(0)

了解docker中的用户文件所有权:如何避免更改链接卷的权限

考虑以下简单的Dockerfile:

FROM debian:testing
RUN  adduser --disabled-password --gecos '' docker
RUN  adduser --disabled-password --gecos '' bob 
Run Code Online (Sandbox Code Playgroud)

在一个没有别的工作目录.构建docker镜像:

docker build -t test .
Run Code Online (Sandbox Code Playgroud)

然后在容器上运行bash脚本,将工作目录链接到bob主目录中的新子目录:

docker run --rm -it -v $(pwd):/home/bob/subdir test 
Run Code Online (Sandbox Code Playgroud)

谁拥有subdir容器上的内容?在容器上,运行:

cd /home/bob/subdir
ls -l
Run Code Online (Sandbox Code Playgroud)

广告我们看到:

-rw-rw-r-- 1 docker docker 120 Oct 22 03:47 Dockerfile
Run Code Online (Sandbox Code Playgroud)

圣烟!docker拥有内容!回到容器外的主机上,我们看到我们的原始用户仍然拥有Dockerfile.让我们尝试修复bob主目录的所有权.在容器上,运行:

chown -R bob:bob /home/bob
ls -l 
Run Code Online (Sandbox Code Playgroud)

我们看到:

-rw-rw-r-- 1 bob bob 120 Oct 22 03:47 Dockerfile
Run Code Online (Sandbox Code Playgroud)

可是等等!在容器外面,我们现在运行ls -l

-rw-rw-r-- 1 1001 1001 120 Oct 21 20:47 …
Run Code Online (Sandbox Code Playgroud)

linux permissions rstudio docker

63
推荐指数
3
解决办法
7万
查看次数

标签 统计

docker ×1

linux ×1

permissions ×1

rstudio ×1