我有 docker-compose.yml 文件
volumes:
nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.100.1,rw
device: ":/mnt/storage"
我的容器安装了带有选项的卷:
type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.100.1,mountvers=3,mountproto=tcp,local_lock=none,addr=192.168.100.1)
使用 local_lock=none,我无法将此选项更改为 local_lock=all 我试过了:
volumes:
nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.100.1,rw,local_lock=all
device: ":/mnt/storage"
和
volumes:
nfs:
driver: local
driver_opts:
type: nfs
o: addr=192.168.100.1,rw
device: ":/mnt/storage"
local_lock: all
但没有任何改变
最佳答案
无法回答问题的解决方法是直接在主机上创建 NFS 挂载,然后将挂载的文件夹导出到 docker 卷。这样,Docker 容器就不再需要 NFS 锁了。
对于 Docker Swarm 来说不是一个理想的解决方案,因为它需要在 swarm 的每个节点上维护 NFS 挂载。
关于docker mount nfs with local_lock=all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42265717/