vagrant 使用

vagrant 简直就是神器,当然可以相比较的就是比较火热的docker,个人还是感觉vagrant比较爽,但是要比docker重很多。

0.三个概念

provider,一个媒介,熟悉的有vmware,virtualbox之类的

vagrant,管理虚拟机的工具,针对provider的封装使用

box,一个个的虚拟机镜像

1.软件的依赖

安装很简单,假设基于virtualbox进行,那么需要安装virtualbox,vagrant,apt/yum都能找到源,很方便

2.使用,在第一步已经安装完毕的基础上进行第二步。

0.mkdir -p /data/vagrant && cd /data/vagrant

1.安装一个box,vagrant box add centos6.5 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

2.初始化,vagrant init centos6.5

3.启动,vagrant up

4.登陆,vagrant ssh 

5.以上,一个centos6.5的vm就启动起来了。

4.如果我想起一个集群或者多个机器怎么办呢?

修改Vagrantfile。

➜  centos  cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.define :web do |web|
    web.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--name", "web", "--memory", "512"]
    end
    web.vm.box = "centos6.5"
    web.vm.hostname = "web"
    web.vm.network :private_network, ip: "11.11.1.1"
  end

  config.vm.define :db do |db|
    db.vm.provider "virtualbox" do |v|
          v.customize ["modifyvm", :id, "--name", "db", "--memory", "512"]
    end
    db.vm.box = "centos6.5"
    db.vm.hostname = "db"
    db.vm.network :private_network, ip: "11.11.1.2"
  end
end
➜  centos
以上抄袭自:https://github.com/astaxie/Go-in-Action/blob/master/ebook/zh/01.3.md

5.一些cmd 的cheatsheet

Common Vagrant Commands
vagrant up -- starts vagrant environment (also provisions only on the FIRST vagrant up)
vagrant status -- outputs status of the vagrant machine
vagrant halt -- stops the vagrant machine
vagrant reload -- restarts vagrant machine, loads new Vagrantfile configuration
vagrant provision -- forces reprovisioning of the vagrant machine
vagrant ssh -- connects to machine via SSH
vagrant destroy -- stops and deletes all traces of the vagrant machine

Tips
vagrant -v -- Get the vagrant version
vagrant global-status -- outputs status of all vagrant machines
vagrant suspend -- Suspends a virtual machine (remembers state)
vagrant resume -- Resume a suspended machine (vagrant up works just fine for this as well)
vagrant reload --provision -- Restart the virtual machine and force provisioning
vagrant provision --debug -- Use the debug flag to increase the verbosity of the output
vagrant push -- Yes, vagrant can be configured to deploy code!
vagrant up --provision | tee provision.log -- Runs vagrant up, forces provisioning and logs all output to a file

Notes
If you are using VVV, you can enable xdebug by running vagrant ssh and then xdebug_on from the virtual machine's CLI.

6.参考链接

部分上面的东西是抄袭的!

一些查阅过的原文:

http://notes.jerzygangi.com/vagrant-cheat-sheet/

https://gist.github.com/wpscholar/a49594e2e2b918f4d0c4

http://topmanopensource.iteye.com/blog/2002302

https://github.com/astaxie/Go-in-Action/blob/master/ebook/zh/01.3.md





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值