我正试图通过Docker Compose连接到SMB共享,但它不会授予写入权限



我是docker的新手。我正试图在树莓pi上运行一个docker服务器,并将卷指向网络共享,这样我就可以避免直接在pi上运行持久文件。我正在使用docker compose,并试图利用卷将SMB共享从Unraid服务器装载到docker容器。

这就是我尝试挂载SMB共享的方式:

volumes:
  downloads:
    driver_opts:
      type: cifs
      o: username=COOLUSERNAMEHERE,password=SUPERSECRETPASSWORD,vers=3
      device: //192.168.0.110/downloads

然后,我将这个卷安装在容器中,如下所示:

services:
  myservicename:
    image: theplaceigetmyimagefrom
    container_name: myservice
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Toronto
    volumes:
      - downloads:/downloads     
    ports:
      - 1234:1234
    restart: unless-stopped

这个卷装载得很好,但它装载为只读。无论我做什么,我都无法获得它的写入权限。我又是码头工人的新手。所以我可能在尝试错误的东西。我已经尝试将privileged: true添加到容器中,但这并没有改变任何内容。我正在连接的SMB共享被设置为公共和共享,因此不应该有任何用户问题,但我也登录了一个";读/写";访问Unraid中设置的文件夹。

任何关于下一步行动的想法都将不胜感激。

想明白了。我将版本更改为3.0(不确定这是否有任何作用(,并添加了GID和UID以及rw选项:

volumes:
  downloads:
    driver_opts:
      type: cifs
      o: username=COOLUSERNAMEHERE,password=SUPERSECRETPASSWORD,uid=1000,gid-1000,vers=3.0,rw
      device: //192.168.0.110/downloads

它现在按预期连接。

最新更新