docker mount nfs with local_lock=all

标签 docker docker-compose mount nfs

我有 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/

相关文章:

docker - 无法删除任何K8s资源

Docker compose 挂载空卷

kubernetes - 检查 kubernetes 中是否启用/禁用功能门

winapi - 如何以编程方式在 Windows 中安装驱动器?

docker - 如何在不导致缓存未命中的情况下将 gitlab 作业 token 传递到 docker 构建中?

django - celery worker 无法使用 Django 连接到 dockerized redis 实例

docker - Docker容器内存使用率并未下降

python - 在 OSX 上的 python 中获取挂载类型信息

bash - 了解 docker 入口点脚本

django - 如何使用 docker 部署 django-q Worker?