【虚拟机管理工具箱】虚拟机管理工具vagrant安装配置

时间:2019-05-09  来源:php安装  阅读:

简介

vagrant是一个基于业界成熟的虚拟化技术打造可配置,可重新生成和可移植的工作环境的工具,一个配置文件完成所有状态定义。

特性

•简单,一个配置文件搞定
•可通过多种方式自定义虚拟机配置,如shell脚本,ansible等
•网络配置,支持私有,共有网络配置
•目录同步,保持guest和host文件同步,默认将当前目录映射到虚拟机的/vagrant下
•多虚拟机支持,构建自己的集群测试环境
•多中虚拟技术支持,如virtualbox,vmware,AWS和docker
•插件机制,扩展灵活
概念
•box就是已经制作好的虚拟机,倒入后保存在~/vagrang.d目录下,和标准的虚拟机区别就是加入了一些为支持vagrant管理的配置,如公钥
•Vagrantfile描述和配置要创建的虚拟机的配置

安装

 代码如下

sudo apt-get install vagrant

注意 最新的版本要到其官网下载


配置

添加box

 代码如下

vagrant box add name url

其中,name为box的名字,url为box的路径可远程可本地

初始化环境

 代码如下

vagrant init

生成默认的Vagrantfile

修改配置文件Vagrantfile
详细的配置参考官方文档

单机配置

 代码如下

Vagrant.configure("2") do |config|
  config.vm.box = "base" #定义此虚拟机是从哪个box生成
  config.vm.provision :shell, :path => "bootstrap.sh" #通过shell配置
  config.vm.network :forwarded_port, host: 8080, guest: 80 #端口映射
  config.vm.network "private_network", ip: "192.168.110.100" #私有网络配置
  #awesome configuration goes here...
end

多机配置

 代码如下

Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: "echo Hello"
  config.vm.define "web" do |web|
    web.vm.box = "apache"
    #awesome configuration goes here...
  end
  config.vm.define "db" do |db|
    db.vm.box = "mysql"
    #awesome configuration goes here...
  end
end

使用

•开/关机 vagrant up/halt
•重启 vagrant reload
•状态 vagrant status
•登录 vagrant ssh
•销毁 vagrant destroy


例子
Vagrant 启动的是完整的虚拟机,并不限定用来做什么,我们可以用这个虚拟机练习配置服务器,跑应用的开发环境……等等,取决于你的需要。

下面举两个例子。

跑 Nginx
新建一个测试目录:

 代码如下

$ mkdir -p ~/workspace/nginx-test
$ cd ~/workspace/nginx-test/

新建配置:

 代码如下

$ vagrant init precise64 http://files.vagrantup.com/precise64.box
$ vagrant up

由于之前已经下载过 precise64 这个 box,这里不需要再下载,只要克隆过来就行了。启动完成后,登陆 ssh:

 代码如下

$ vagrant ssh

在 Vagrant 虚拟机内,安装 nginx:

 代码如下

vagrant@precise64:~$ sudo apt-get update
vagrant@precise64:~$ sudo apt-get install nginx

这时候 nginx 已经装好了,但是发现没办法在主机访问到虚拟机的服务,我们还需要设置端口映射。在本机 Vagrantfile 的配置块中添加一行配置:

 代码如下

config.vm.network :forwarded_port, guest: 80, host: 8080

这行配置把虚拟机的 80 端口映射到本机的 8080 端口,然后重启虚拟机。

 代码如下

vagrant@precise64:~$ exit
$ vagrant reload

打开浏览器,访问 localhost:8080,就会看到 Welcome to nginx! 字样,说明访问虚拟机内的 nginx 成功了。

【虚拟机管理工具箱】虚拟机管理工具vagrant安装配置

http://m.bbyears.com/jiaocheng/50248.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新