使用 docker 映射 NFS 挂载:“守护进程的错误响应:创建挂载源路径时出错”

使用 docker 映射 NFS 挂载:“守护进程的错误响应:创建挂载源路径时出错”

我正在尝试运行一个从 NFS 挂载获取数据的 docker,其趋势如下:

docker -v /mnt/nfs1:/input ...

但我收到了如下错误:

docker:守护进程的错误响应:创建挂载源路径“/mnt/nfs1/input/large_files/quickstart-output”时出错:mkdir /mnt/nfs1/input:权限被拒绝。

NFS 挂载点以非 root 用户身份挂载,并在服务器配置上设置了 root-squash。我无法更改这一点。

添加也--user 12345没有任何效果。

另外,尝试从 docker 内部以该用户身份挂载 NFS 也不起作用,可能是因为 IP 与允许的 IP 不一样(?)

有人能告诉我这是否可行吗?如果可行,我该如何解决这个问题?谢谢!

答案1

看起来我解决了它......大致如下:

docker volume create --driver local --opt type=nfs \
  --opt o=addr=nfs.server.com,ro --opt device=:/complete/path nfs_input
    
docker volume create --driver local --opt type=nfs \
  --opt o=addr=nfs.server.com,rw --opt device=:/other/complete/path nfs_output
    
docker run \
  --user 12345:12345 \
  --mount source=nfs_input,target=/input \
  --mount source=nfs_output,target=/output \
  my_docker_image ....

相关内容