【问题标题】:Docker for Windows unable to mount nfs drive with docker-composeDocker for Windows 无法使用 docker-compose 挂载 nfs 驱动器
【发布时间】:2019-07-22 20:28:07
【问题描述】:

尝试使用 docker-compose 文件将 nfs 驱动器挂载到 docker 容器时出现权限被拒绝错误。

此错误仅适用于运行 Docker for Windows 时。我能够在 Ubuntu 主机上成功安装驱动器。

码头工人撰写文件

version: '2'

services:
   builder:
     image: some_image
     ports:
     - "8888:8080"
     volumes:
     - "nfsmountCC:</container/path>"

 volumes:
   nfsmountCC:
     driver: local
     driver_opts:
       type: nfs
       o: addr=<nfs_IP_Address>
       device: ":</nfs/server/dir/path>"

Docker for Windows 产品

ERROR: for test_1  Cannot start service builder: b"error while mounting volume '/var/lib/docker/volumes/test-master_nfsmountCC/_data': error while mounting volume with options: type='nfs' device=':</nfs/server/dir/path>' o='addr=<nfs_IP_Address>': permission denied"

【问题讨论】:

  • 我面临同样的问题。您是否启用了 Windows 的 NFS 功能(在命令提示符下运行 DISM /online /get-features /format:table | findstr NFS 并检查是否已启用所有功能)?你能用net use Z: &lt;ip_address&gt;:&lt;/path/to/shared/dir/&gt;手动挂载NFS吗?

标签: docker docker-compose


【解决方案1】:

以下内容适用于我在 Windows 7 上使用 Docker Toolbox 从 Ubuntu 服务器安装 NFS 卷:

NFS 服务器端:

  • 在 NFS 服务器上的防火墙(如果有)上允许 nfsmountd 服务
  • 在“/etc/exports”文件的每个相关条目中添加 insecure 选项

Docker 客户端:在 NFS 卷定义中添加 hardnolock 选项

version: '3.7'

services:
  builder:
    image: some_image
    ports:
      - "8888:8080"
    volumes:
      - "nfsmountCC:</container/path>"

volumes:
  nfsmountCC:
   driver: local
   driver_opts:
     type: nfs
     o: "addr=<nfs_IP_Address>,rw,hard,nolock"
     device: ":</nfs/server/dir/path>"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 2016-05-31
    相关资源
    最近更新 更多