V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mrleft
V2EX  ›  问与答

docker 使用 nfs/smb volume 权限问题

  •  
  •   mrleft · 2023-02-12 18:27:05 +08:00 · 1396 次点击
    这是一个创建于 660 天前的主题,其中的信息可能已经有所发展或是发生改变。

    all-in-one(boom) docker 和 群晖是两个虚拟机( PVE )

    两台的用户分别是
    dockermachine

    > id
    uid=1000(ubuntuuser) gid=1000(ubuntuuser) groups=1000(ubuntuuser),27(sudo),999(docker)
    

    dsm

    > id
    uid=1026(dsmuser) gid=100(users) groups=100(users),101(administrators)
    

    docker-compose.yml

    version: "3.2"
    services:
      heimdall:
        image: lscr.io/linuxserver/heimdall:latest
        container_name: heimdall
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Asia/Shanghai
        volumes:
          - type: volume
            source: nfs
            target: /config
            volume:
              nocopy: true
        ports:
          - 80:80
          - 443:443
        restart: unless-stopped
    volumes:
      nfs:
        driver_opts:
          type: "nfs"
          o: "addr=dsmip,nolock,soft,rw,nfsvers=4"
          device: ":/pathtoheimdall"
    

    heimdall 报权限不对, 请问 docker 使用 nfs/smb volume 时权限怎么处理

    3 条回复    2023-02-13 09:16:28 +08:00
    ksc010
        1
    ksc010  
       2023-02-12 19:14:07 +08:00
    你把 nfs 上的文件夹挂在到 docker 下,文件的 owner uid 是不变的,
    所以你需要看下 容器中应用的那个用户启动的程序,并且它的 uid 是多少,然后看下 nsf 上文件的 uid 是多少,要一致,这样就可以了
    piku
        2
    piku  
       2023-02-12 19:43:50 +08:00 via Android
    1.群晖开 NFS 授权给容器主机,容器主机挂 NFS ,目录映射给容器。这种情况下目录权限由群晖决定,容器改不了文件权限(可能会出警告)但读写都正常。
    2. smb 就麻烦了,群晖端既要设目录权限也要设 ACL 权限(也可能没开 ACL 功能)。容器可以直接挂 smb 给目录,也可以把 smb 挂到容器主机再映射给容器目录。这种情况下需要注意挂载时指定权限( mount -o )。
    大部分情形下不需要留意用户权限,这种挂载的情况给 777 即可。不能给 777 的情况下还需要考虑用户映射
    julyclyde
        3
    julyclyde  
       2023-02-13 09:16:28 +08:00
    nfs 其实没有授权,只是接受对应的 uid 和 mode
    所以服务器端要求客户端的 IP 、客户端要求 root 才能 mount
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:21 · PVG 05:21 · LAX 13:21 · JFK 16:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.