by Devin Yang

建立于: 3年前 ( 更新: 3年前 )

在D-Laravel上的NFS挂载说明:
volumes:
  sites:
    driver: local
    driver_opts:
      type: nfs
      o: addr=host.docker.internal,rw,nolock,hard,nointr,nfsvers=3
      device: ":/Users/devin/dlaravel/sites"
在上方的device项目,我用的是sites的绝对路径,这样子,在console别名的状态下才不会出问题。
您默认的设置的设置会像下方这样:(代表了docker-compose的启动要在D-Laravel的目录上运行)
device: ":${PWD}/sites"
关於D-Laravel的NFS设置,您可以参看下方连结:
https://www.ccc.tc/notes/nfs-docker-and-laravel

日志一些NFS上使用的参数

nolock
选择是否使用NLM边带协议锁定服务器上的文档。 如果未指定任何选项(或未指定锁定),则NLM锁定用於此安装点。 使用nolock选项时,应用进程可以锁定文档,但是这种锁定仅对同一客户端上运行的其他应用进程提供排除。 远程应用进程不受这些锁的影响。

使用NFS挂载/ var时,必须使用nolock选项禁用NLM锁定,因为/ var包含Linux上NLM实现使用的文档。 在不支持NLM协议的NFS服务器上安装导出时,也需要使用nolock选项。
soft/hard
确定NFS请求超时后NFS客户端的恢复行为。 如果未指定任何选项(或未指定hard选项),则将无限期重试NFS请求。 如果指定了soft选项,则在发送重传重传后,NFS客户端将使NFS请求失败,从而导致NFS客户端向调用应用进程返回错误。

注意:在某些情况下,所谓的“软”超时可能会导致无声数据损坏。 因此,仅当客户端响应比数据完整性更重要时,才使用soft选项。 在TCP上使用NFS或增加retrans选项的值可以减轻使用soft选项的某些风险。
intr/nointr
选择是否允许信号中断此安装点上的文档操作。 如果未指定任何选项(或未指定nointr),则信号不会中断NFS文档操作。 如果指定了intr,则在进行中的NFS操作被信号中断时,系统调用将返回EINTR。

其他太简单了,用想的都猜的出来,rw就是可读写。nfsvers=3使用nfs3进行挂载,

Tags: docker nfs macos

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker, d-laravel, docker-compose, laravel

docker-compose加载多个设置档

我们会用docker --network创建多个container互连,但是如果四个container时, 是不是就要下四次docker run不同container的命令,杀了我吧, 本文介绍透过docker-compose这个yaml档定义一次搞定多个container的创建。 了解如何用dokcer-compose -f 参数加载多个设置档。  

laravel,docker

如何自定义Laravel分页

最近闲了一点,想说来调整一下网站上下页的箭头,如果您还不太了解如何自定义Laravel的分页, 可以来看看三分钟简短的介绍,我如何自定义Laravel的分页。

docker,laravel

[D-Laravel]./console node

进行Laravel开发时,有时我们会需要透过npm安装nodejs的包,但是偏偏我们系统中的Node又不够新。 或许因某些因素没法升级,例如要跑旧版的nodejs进程等。 其实我们可以透过简单的命令,用docker,让我们就能使用最新版本的node image来挂载host端的/sites数据夹罗。 这么一来我们就可以随时运行新版本的npm命令啦。