windows7下使用vagrant的流水帐
- Official site:vagrant
- 先安装VirtualBox或其它vagrant支持的虚拟机,再安装vagrant
使用
- 管理员权限进入cmd, 进入任一新建文件夹执行
vagrant init
,文件夹下多了个配置文件名为”Vagrantfile” - 添加box
vagrant box add precise32 http://files.vagrantup.com/precise32.box
这是个32位ubuntu,源在网络,慢等下载; - 修改Vagrantfile文件里的设置
config.vm.box = "precise32"
- 启动虚拟机
vagrant up
输入vagrant ssh
,提示cmd无ssh,建议使用cygwin或mingw来使用ssh,或者用putty等ssh client. 使用putty,提示
Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/User/yourname/.vagrant.d/insecure_private_key使用putty配套工具puttygen.exe把
insecure_private_key
转换成.ppk格式,然后用putty顺利登录虚拟机。 vagrant destory
摧毁虚拟机,仅关机要用vagrant halt
- synced folders默认共享文件夹
/vagrant
,对应主机之前执行vagrant init
时所在的文件夹 - 使用Vagrantfile里
config.vm.provision
来进行预配置 - 端口转寄
config.vm.network :forwarded_port, host: 4567, guest: 80
这样,如果虚拟机开通了http服务,在主机浏览器使用127.0.0.1:4567
就可以访问虚拟机的web
Note
vagrant destroy
后起来的虚拟机都是新的,之前安装的软件数据会没掉;vagrant halt
后起来的虚拟机还保存安装软件,占用硬盘,在VirtualBox的可视界面还可以看到它;
vagrant suspend
挂起,保存所有状态,就是虚拟机的保存状态- vagrant up 时碰到个提示
DL is deprecated, please use Fiddle
可能是ruby的问题.vagrant最新版无此提示 - 建立自己的box,简便方法:从官方链接弄的precise32.box或precise64.box,运行,安装所需要的软件后,使用
vagrant halt
退出,此时打开VirtualBox界面可以看到有一个对应随机名字的虚拟机存在,比如vagrant_default_1393478037601_64875
此时直接可以用vagrant package --base vagrant_default_1393478037601_64875
来新建得到一个新的box
package.box
注意,执行package时必须把VirtualBox先关掉!否则会出错 - 自创建box时,安装VirtualBox的Guest Additions 用
sudo mount /dev/cdrom /mnt
来挂载 - VirtualBox共享文件夹 在guest里
sudo mount -t vboxsf sharename mount路径
; VirtualBox4.0之后会自动挂载到/media/sf-共享文件夹名