by Devin Yang

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

在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,dlaravel

D-Laravel 1.5.5变更说明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 并且所以我可以指定了fpm的默认的owner是dlaravel, --with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody) --with-fpm-group=GRP Set the group for php-fpm to run as.

MacOS

在MacOS如何停用IPV6功能在特定的设备上

如何在自己的MacOS停用或激活IPV6,可以用networksetup -listallnetworkservices列出所有MacOS的网络设备,然后再运行停用命令。

docker

关於Docker的Logging Driver

Docker内建相当多的日志机制,帮我们取得在container内运行的服务信息。 这些机制(mechanisms)我们通常称为logging drivers.