1. 关于Vagrant
Vagrant是一个虚拟机管理工具。可以实现快速的虚拟机镜像分发和使用。可以说,Vagrant使得虚拟机技术的使用门槛大大降低。让所有人都可以快速的使用虚拟机投入到具体的开发工作中去。(尤其对于那些需要在服务器环境中进行开发的人来说)。
2. 安装Vagrant
Vagrant的安装非常简单,从它的主页上可以方便的下载得到在各种操作系统下的安装程序。我使用的是Win7操作系统。因此直接下载对应操作系统的安装程序即可。Vagrant的安装符合win7下安装应用的一般过程。这就不用多说了。
要使用Vagrant,当然需要虚拟化技术的支持。目前Windows操作系统已经支持的HyperV的虚拟化技术。对于Win7操作系统来说,默认并没有提供该项功能。需要单独从Microsoft的网站上安装。在其他的虚拟化技术中,由于VirtualBox是开源的,并且在各类操作系统中均有运行环境,因此在Vagrant一开始支持的虚拟化技术中,VirtualBox是首先得到支持的。目前VMWare的虚拟化技术也已经得到了Vagrant的支持。为了方便学习,我选择VirtualBox作为虚拟化解决方案。当然,关于Vagrant使用VirtualBox的各类教程,也是最多的。
VirtualBox的安装,同样,从主页下载程序后执行安装即可。
3. 配置Vagrant和VirtualBox
Vagrant和VirtualBox安装完成后,默认存放虚拟机镜像文件的位置在系统盘。这对于大多数系统盘容量有限的人来说,很快就会收到“磁盘容量不足”的告警。通过必要的设置将镜像数据移出系统盘。
3.1. 更改VirtualBox的镜像文件存放位置
具体步骤如下:
- 打开VirtualBox,从菜单项选择 全局设置 (快捷键是 Ctrl-G )
- 选择 常规 里的 默认虚拟电脑位置(M)
- 设置为非系统盘的位置。
- 将原位置中的虚拟机镜像移动到新的位置。
- 如果在设置前已经安装了虚拟机,那么在Windows 资源管理器中,选择对应目录中的 Vbox 文件,即可将新目录中的虚拟机镜像添加到VirtualBox中。
3.2. 更改Vagrant的镜像存储位置
Vagrant对于虚拟机的管理分成两个部分:Box和Machine。Box是指初始的未部署的虚拟机镜像文件。这个文件相当于是虚拟机的一个模板,可以进行无限制次数的复制。Machine,是指处于可运行状态下的虚拟机。当在Vagrant中添加box是,默认Vagrant会将这些虚拟机模板镜像文件存放在c:\User\<Username>\.Vagrant.d
里。因此,当使用Vagrant管理的虚拟机模板镜像较多时,这个目录也是比较大的。可以转移到其他磁盘分区上。方法是:
- 将
c:\User\<username>\.vagrant.d
目录移动到新的位置 - 设置
VAGRANT_HOME
环境变量指向新的位置即可。
4. 使用vagrant添加虚拟机镜像
4.1. 从互联网添加虚拟机镜像文件
在正式使用Vagrant前,建议先添加vagrant的镜像文件。使用如下指令添加虚拟机模板镜像文件:
E:\vagrant_starter>vagrant box add Ubuntu/trusty64
执行上面的指令后,系统会自动从互联网下载相应的镜像文件。执行上述指令后,会得到如下的输出:
E:\vagrant_starter>vagrant box add ubuntu/trusty64
==> box:Loading metadata for box 'ubuntu/trusty64'
box: URL: https://vagrantcloud.com/ubuntu/trusty64==> box:Adding box 'ubuntu/trusty64'(v14.04)for provider: virtualbox
box:Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/14.04/providers/virtualbox.box
box:Progress:0%(Rate:7168/s,Estimated time remaining:21:27:41)
当 Progress 进展到100%时,相应的镜像就添加到Vagrant中可供随时克隆使用了。
TIP : 在VagrantCloud有大量已经制作好可供下载的基础镜像文件。有兴趣可以去看看,能减少自己做系统的时间。
4.2. 从本地添加镜像文件
从互联网添加是最基本的方法。从本地已经下载好的文件中添加镜像文件当然会更加的方便。要添加本地已下载好的镜像文件,执行如下指令即可:
E:\vagrant_starter>vagrant box add ubuntu/trusty64 file:///e:\download\trusty-server-cloudimg-amd64-vagrant-disk1.box
5. 初始化虚拟机
开始使用虚拟机,首先需要将虚拟机模板镜像导入“工作环境”。如前所属,已经添加了 ubuntu/trusty64 镜像之后,可以之间使用如下指令完成相关虚拟机的初始化。
E:\vagrant_starter>vagrant init ubuntu/trusty64
A `Vagrantfile` has been placed inthis directory.You are now
ready to `vagrant up` your first virtual environment!Please read
the comments in the Vagrantfileas well as documentation on
`vagrantup.com`for more information on usingVagrant.
如果以前没有使用 vagrant box add
指令,直接使用init命令时,会先添加box,完成后再执行初始化操作。
6. 使用虚拟机
6.1 启动虚拟机
启动虚拟机只需要一个指令,并且可以得到一下输出:
E:\vagrant_starter>vagrant up
Bringing machine 'default' up with'virtualbox' provider...==>default:Importingbase box 'ubuntu/trusty64'...==>default:Matching MAC address for NAT networking...==>default:Setting the name of the VM: git-server_default_1418350291527_32287
==>default:Clearing any previously set forwarded ports...==>default:Clearing any previously set network interfaces...==>default:Preparing network interfaces based on configuration...default:Adapter1: nat
==>default:Forwarding ports...default:22=>2222(adapter 1)==>default:Booting VM...==>default:Waitingfor machine to boot.This may take a few minutes...default: SSH address:127.0.0.1:2222default: SSH username: vagrant
default: SSH auth method:private key
==>default:Machine booted and ready!==>default:Checkingfor guest additions in VM...==>default:Mounting shared folders...default:/vagrant => E:/vagrant_starter
6.2 登录虚拟机
要登陆虚拟机可以使用 Vagrant ssh
命令登录虚拟机系统。登录后可以看到:
E:\vagrant_starter>vagrant ssh
Welcome to Ubuntu14.04.1 LTS (GNU/Linux3.13.0-40-generic x86_64)*Documentation: https://help.ubuntu.com/System information as of FriDec1202:12:05 UTC 2014System load:0.36Processes:91Usage of /:2.8% of 39.34GBUsers logged in:0Memory usage:21% IP address for eth0:10.0.2.15Swap usage:0%Graphthis data and manage this system at:
https://landscape.canonical.com/Get cloud support withUbuntuAdvantageCloudGuest:
http://www.ubuntu.com/business/services/cloud0 packages can be updated.0 updates are security updates.
vagrant@vagrant-ubuntu-trusty-64:~$
如果你得到了以上的输出显示,好的,你已经成功登录到你的 私有 服务器上了。在你自己的服务器上撒泼打滚吧,在这个服务器上,你就是 上帝 。
7. 停止或删除虚拟机
要停止虚拟机的运行,可以使用如下指令:
-
虚拟机关机:
E:\vagrant_starter>vagrant halt
-
虚拟机挂起:
E:\vagrant_starter>vagrant suspend
-
删除虚拟机:
E:\vagrant_starter>vagrant destory
危险:虚拟机删除后,所有在虚拟机中做的改动都不再存在。如果重新使用,需要再次使用init命令初始化。此时得到的将是一个全新的虚拟机。所以,注意安全。
8. 参考文档:
- Vagrant官方文档: https://docs.vagrantup.com/v2/
- 小硬盘伤不起-将Vagrant移出系统盘的方法: http://www.linuxidc.com/Linux/2016-12/138933.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138932.htm