在使用 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. Android 记录和恢复ListView滚动的位置的三种方法

    本文主要介绍记录和恢复listView滚动位置的3种方法(1)记录listView滚动到的位置的坐标(推荐)(2)记录listView显示在屏幕上的第一个item的位置(3)通知适配器数据改变. 有时 ...

  2. python实验一:画图

    题目:画图,学用rectangle画方形. rectangle(int left, int top, int right, int bottom) 参数说明:(left ,top )为矩形的左上坐标, ...

  3. JavaScript之作用域和引用类型

    学习js高级程序设计第四.五章 4.1基本类型和引用类型的值:基本类型值指的是简单的数据段,引用类型值指可能由多个值构成的对象. 引用类型的值是保存在内存中的对象,不能直接访问,而是按引用访问(类似指 ...

  4. VS2016 发布项目提示 CS0006 C# Metadata file 'xxxxxxx.dll' could not be found

    生成的时候没有问题,发布项目的时候提示 CS0006 C# Metadata file 'xxxxxxx.dll' could not be found 解决方案,找到 xxxxxxx.dll 这个项 ...

  5. WPF 动态更换样式文件

    ApplySkinFromMenuItem("Style/BigImgStyle.xaml", "Style/FileListStyle.xaml"); //换 ...

  6. Spring Boot项目的打包和部署

    补充一点:搜索了下别人Spring Boot部署方案,大多都说:①packaging设为war:②要添加Spring Boot的tomcat依赖:③修改output路径,但是使用STS新建Spring ...

  7. 树莓派安装Transmission-daemon出现的问题

    1,安装时发现默认的源里面没有transmission-daemon包 pi@fynn:/etc/apt/sources.list.d $ sudo apt-get install transmiss ...

  8. [mk] 喝一杯咖啡, 写一写 Makefile

    Makefile 是 Linux 下组织程序的一个工具,它的命令是 make. (首字母M/m都可以) [Makefile] Makefile 编写的主旋律: target: [dependency] ...

  9. Java 中英文数字排序

    //网上找的一个例子自己修改了下分享下,可以传多个排序字段数组 public class SortList<E>{ public static Logger loger = LoggerF ...

  10. jquery中是否加()的问题

    自己总结的,慢慢修改再: 1带上()代表立即执行 去掉()代表当有事件发生的时候,我再执行