在使用 vagrant 搭建 php 开发环境的时候,需要用到文件同步同步功能。在比对了众多网络文件系统之后,发现对 Windows 下文件同步系统最友好的是 smb, 那么怎么在 vagrant 启用 smb 文件共享呢?

不管你是用什么方式拿到了 vagrant box,在启动 vagrant box 的时候,请修改 Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.synced_folder "C:/Work", "/home/Code",
    type: "smb",
    smb_host: "192.168.33.1",
    smb_username: "ranwuer",
    smb_password: "yourpassword",
    mount_options: ["username=ranwuer","password=yourpassowrd"]
end

参数解释:

1. smb_host

表示需要与哪台主机共享文件,这里填的是 host 端的 IP 地址,需要以下配置启动后,才可以使用这个 IP。

config.vm.network "private_network", ip: "192.168.33.11"

这个配置的意思是,guest 主机与 host 主机通信的私有网络。host 端的 IP 为 192.168.33.1,可以在 cmd 中输入 ipconfig 查看:

这样以来,就可以使用 smb 实现 guest 的文件夹和 host 端的文件夹之间的数据同步了。

2.smb_username,smb_password

如果不输入这个参数的话,在你运行 vagrant up 的时候,vagrant 会提示你输入 windows 的用户名和密码,来实现对 windows 中某文件夹的连接。目前我是在 windows 10 系统上实现的,还请根据实际情况填写这两个参数。总之配置了这两个参数不用每次启动的时候都输入 windows 的用户名和密码。

3.mount_options

填写这个参数是为了解决 “wrong fs type” 错误,见:https://www.vagrantup.com/docs/synced-folders/smb.html 的 COMMON ISSUES 章节。这是官方提出的错误解决方案,反正我这样子用了,就没有出现问题了。

错误提示:

一些常用技巧:

1.为了防止smb共享剔除不活动的连接需要执行以下命令让系统不要自动踢掉不活动的连接
net config server /autodisconnect:-1

2.vagrant不会自动删除共享,要删除共享使用命令
net share c30268623ba3dedeaa9f098b570dca21 /delete

3. 用 net share 查看文件共享状态

总之,我根据这个配置, 解决了在 windows 下虚拟机与 hos t主机的通过 smb 共享的问题,还请各位看官轻拍。

在 Vagrant 下启用 SMB 文件共享的更多相关文章

  1. linux/windows下启用和停止VMware后台服务的脚本

    linux/windows下启用和停止VMware后台服务的脚本 linux/windows下启用和停止VMware后台服务的脚本 linux平台 windows平台 本文由乌合之众 lym瞎编,欢迎 ...

  2. Debian9.5解决在root用户下启用VNC后lightdm+Xfce4只能使用root登录,其他用户无法登陆

    Debian9.5解决在root用户下启用VNC后lightdm+Xfce4只能使用root登录,其他用户无法登陆 最近在研究debian9.5 VNC的问题,当VNC使用tightVNC或tiger ...

  3. 在macOS下启用CGO_ENABLED的交叉编译

    在macOS下启用CGO_ENABLED的交叉编译 在启用CGO_ENABLED的情况下,尝试使用下面命令进行Windows平台的交叉编译: $ CGO_ENABLED= GOOS=windows G ...

  4. CentOS7下使用NFS文件共享给Window server 2012

    CentOS7下使用NFS文件共享给Window server 2012 2018年08月24日 23:15:54 疼迅扣扣 阅读数:443  出自https://blog.csdn.net/u013 ...

  5. WCF在tcp通道下启用httpget

    关于tcp通道下,启用httpget,必须启用一个http的基地址,如果要启用元数据交换,host中必须开启服务描述. //01 create host Uri tcpBaseAddress = ne ...

  6. Linux 下安装Samba 文件共享服务器

    samba文件共享服务可以让linux和linux系统.linux和windows系统之间共享文件 服务查询 默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分,为了对整个过程有 ...

  7. Win7 IIS下启用ASP.NET

    问题产生的原因 先装的Win7,未启用IIS, 后启用IIS功能,即使选中开发选项只能默认打开ASP.net 中FrameWork2的支持,其它 版本的FrameWork默认IIS不支持,需要手工开启 ...

  8. windows server2008 r2 下启用 sqlserver 2008的远程连接

    首先说明,本文转自互联网. TMD 花了二天,终于找到怎么开启这个远程连接了.....娘的,累死了,写下来,希望能帮助同胞们... 用win server 2008 r2 和sql server 20 ...

  9. IIS7.5下启用asp父级路径

    如果你是运行asp显示需要启动父路径的话可以这样解决: 在IIS 下 打开ASP选项,有个启用父路径的选择项,选择True 就可以了! 具体看图!因为没法贴两张图,就弄在一张里了!

随机推荐

  1. ASP.NET5 Beta8可用性

    ASP.NET5 beta8现已上都的NuGet作为一个工具升级到Visual Studio2015!此版本极大地扩展.NET核心对OS X和Linux所支持的范围.您现在可以使用网络,加密和全球化特 ...

  2. [z]查表空间使用情况

    SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE ...

  3. CSS换行文本溢出显示省略号,多行

    首先,div部分 <body> <div>多行的显示该如何解决呢,后面经过一番google后,我找到了chrome的一个API可以解决上面提到的需求-webkit-line-c ...

  4. 关于meta标签

    一.Meta标签中的format-detection属性及含义 意为:格式检测 或许你会有这样的经历:当你在制作手机端的页面中,点击了没有加任何链接的格式的数字时,这时手机会进行自动拔号提示操作! 禁 ...

  5. notepad++ 配置Python 调试环境 实用版

    一. 安装python 1. 下载python 2.7版本并安装: 2. 在安装到自定义python的时候选择 add python to ptah项:

  6. tomcat(一)--java基础

    什么是java java所涉及到的相关概念如下图.总体来说就是java语言.java API.jvm等构成. jvm:java虚拟机,java的代码都是运行在jvm上,这是java语言跨平台的保证,针 ...

  7. U盘启动盘 安装双系统 详细教程

    U盘启动盘 安装win7+linux双系统 最近在看鸟哥的linux 私房菜 ,看到多重系统那部分,自然的安装多重系统的激情由此而燃.在网上看了很多资料,感觉都不全.经过艰辛的摸索,终于被我发现了一个 ...

  8. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  9. jQuery的ajax问题

    Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to th ...

  10. win10下搭建QTP测试环境

    安装环境win 10 64位企业版 个人学习用1..net 3.5无法安装更新问题解决:打开windows update 服务2.win10 安装中提示为了对电脑进行保护,已经阻止此应用,请与管理员联 ...