docker swarm nfs 卷未显示所有目录

docker swarm nfs 卷未显示所有目录

我在尝试解决这个问题时遇到了障碍。我在两个节点上运行 docker swarm,并为我的 synology 创建了一个 nfs 卷。

容器内部:

root@container:/data# ls -ltr
drwxr-xr-x 4 root root 4096 Jun 24 22:59 unprocessed

缺少目录。如果我通过 ssh 进入主机并检查那里的 docker 挂载,我会看到以下内容:

root@box:/var/lib/docker/volumes/vol_multimedia/_data# ls -ltr
total 4
drwxrwxrwx 1 1024 users  0 Sep  6  2021  images
drwxrwxrwx 1 1024 users 38 Dec 19  2021  unprocessed
drwxrwxrwx 1 1024 users 66 Apr  1 08:39  processed
-rwxrwxrwx 1 1026 users 41 May 29 23:21  multimedia-readme.txt
drwxrwxrwx 1 root root  36 Jun  3 22:47 '#recycle'

这正是我期望看到的。为什么在 docker 容器中只能看到一部分文件?

我用来创建卷的docker命令是

docker volume create --driver local \
  --opt type=nfs \
  --opt o=addr=synology.local,rw,soft,nfsvers=4 \
  --opt device=:/volume1/multimedia \
  vol_multimedia

撰写文件看起来像

version: "3.8"
services:
  jellyfin:
    # ... removed for brevity
    volumes:
      - type: volume
        source: vol_multimedia
        target: /data
    # ... removed for brevity

volumes:
  vol_multimedia:
    external: true

更新:我上面说的似乎有点误导。有问题的容器在同一个集群的另一个节点上运行。一个节点是正确的,但另一个节点不正确。同一个集群中的两个节点的行为却不同,这太奇怪了。

答案1

我从来没有让它工作过。我最终在主机上安装了 NFS 共享并执行了绑定卷。

相关内容