小编Ger*_*ers的帖子

Rootless Docker:在没有 sudo 的情况下将文件写入卷挂载时权限被拒绝

如果没有 sudo 权限,我无法在容器中(通过 ssh)写入已安装的卷。挂载的文件夹是主机用户在主机上的主文件夹。我正在运行一个无根的 docker 守护进程。

我执行了以下步骤来启动容器:

  1. 我已经按照https://docs.docker.com/engine/security/rootless/上的说明设置了一个无根 docker

  2. 使用以下命令构建 Dockerfile(如下):

    docker build --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g) --build-arg USER_NAME=user--build-arg USER_PASS=user -t test 。

  3. 使用以下命令启动容器:

    docker run -d --name test_container -p 50000:22 -v /home/$(id -u -n):/mnt/home 测试

  4. 通过 SSH 连接到我的容器

    ssh 用户@localhost -p 50000

当我在主目录中创建文件时,权限被拒绝。当我在主机中创建一个新文件夹并将其 chmod 为 777 时;然后我可以创建文件,但它们不会以正确的用户/组出现在我的原始主机中,而是得到类似以下内容的信息:

drwxrwxrwx  6 gdekkers gdekkers 4096 May 25 21:10 .
drwxr-xr-x 14 gdekkers gdekkers 4096 May 25 21:10 ..
drwxrwxrwx  3 gdekkers gdekkers 4096 Apr 30 13:01 SomeFolder
drwxr-xr-x  2 …
Run Code Online (Sandbox Code Playgroud)

file-permissions docker docker-volume rootless

8
推荐指数
1
解决办法
2043
查看次数