基本安装与配置html
Vagrant版本: 1.8.1web
咱们能够通SSH登陆而后安装一个web服务器,可是这样每一个使用Vagrant的人都须要作一样的事情。为了解决这个问题,Vagrant为咱们提供了自动预置的功能,当vagrant up执行时Vagrant会为咱们自动安装配置好的软件,这样咱们就可以重复建立多个具备相同软件配置的客户机了。shell
咱们为基项目安装APACHE,须要作的只是在Vagrantfile相同的目录下建立一个名为bootstrape.sh的shell脚本:apache
#!/usr/bin/env bash apt-get update apt-get install -y apache2 if ! [ -L /var/www ]; then rm -rf /var/www ln -fs /vagrant /var/www fi
而后咱们让Vagrant在启动的时候执行这个脚本,咱们须要修改Vagrantfile文件bootstrap
Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise64" config.vm.provision :shell, path: "bootstrap.sh" end
这里起做用的就是config.vm.provision配置。bash
若是Vagrant vm正在运行,咱们能够执行服务器
vagrant reload --provision
来重启vm,同时reload会指示Vagrant从新加载预置信息,若是只是简单重启,则不会从新加载预置,由于Vagrant只会在第一次启动时作这件事。
当Vagrant启动成功后,咱们能够先网络
vagrant ssh
登陆该vm,而后运行ssh
vagrant@precise64:~$ wget -qO- 127.0.0.1
测试APACHE是否安装成功。测试
Vagrant的网络特性让咱们能够经过主机访问客户机
修改Vagrantfile
Vagrant.configure("2") do |config| config.vm.box = "hashicorp/precise64" config.vm.provision :shell, path: "bootstrap.sh" config.vm.network :forwarded_port, guest: 80, host: 4567 end
这样能够经过端口4567,在主机上访问客户机80端口,执行如下命令
$ wget -qO- 127.0.0.1:4567
测试可否得到客户机上APACHE的响应。
$ vagrant login Username or Email: mitchellh Password (will be hidden): You are now logged in!
登陆后执行命令
$ vagrant share ... ==> default: Your Vagrant Share is running! ==> default: URL: http://frosty-weasel-0857.vagrantshare.com ...
注意frosty-weasel-0857是临时建立的url,能够经过CTRL+C来终止分享对话,若是再次分享统一镜像,这个临时url也会发生改变。
关闭分为三种:suspend挂起,halt停止和destroy销毁。
Suspend挂起
经过执行命令vagrant suspend来保持当前运行的状态,而后中止它。这个方法的好处是快速,一般只须要5-10秒的时间来启动,很差的是挂起的这个vm仍然占用着磁盘空间,须要更多的磁盘空间来保持vm内存里面的状态。
Halt停止
经过执行命令vagrant halt来中止客户机,关闭客户机的电源。这样作的好处是能够干净的关闭客户机,但又保持了磁盘上的内容。很差的是要花更多的时间进行冷启动,固然客户机还占用着磁盘空间。
Destroy销毁
经过执行命令vagrant destroy来销毁客户机,关闭客户机的电源。同时也会删除客户机上的硬盘。这种方式的好处是,客户机上没有任何残留,磁盘空间和内存空间都会被主机回收。很差的是再次启动的时候,Vagrant会要从新作全部的事情,好比从新导入vm和从新预置。
更多内容请参考https://www.vagrantup.com/docs/getting-started/