使用Vagrant来构建CentOS虚拟机
预备
-
- vagrantのインストール
- virtualboxのインストール
请参考此篇文章中有关安装和基本使用Vagrant的内容。如果方便的话,请查阅。
添加一个CentOS的虚拟机
這次我們將使用CentOS6.5。添加box的命令格式如下。
vagrant box add "boxの名称" "boxのURL"
在给盒子取名字时,可以任意选择名称。
建议使用包含操作系统名称和版本等信息的易于管理的名称。
那么现在我们开始正式添加吧。
$ vagrant box add centos6.5-64 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
由于结构时间很长,请做些运动锻炼来等待。完成后,我会确认已添加了一个盒子。
$ vagrant box list
centos6.5-64 (virtualbox)
如果显示出来就可以。
请使用vagrant init命令进行初始化。
由于测试的原因,我会在/tmp目录下创建一个文件夹并继续进行。
$ mkdir /tmp/vagrant-centos
$ cd /tmp/vagrant-centos
使用之前添加的”centos6.5-64″来指定Vagrantfile并进行初始化。
$ vagrant init centos6.5-64
$ ls
Vagrantfile
如果已经存在Vagrantfile,则表示完成。
编辑Vagrantfile
当指定box名为centos6.5-64并启动init时会发生什么呢…
# ↓が指定したboxになってます。
config.vm.box = "centos6.5-64"
由于通过”vagrant box add”命令已经将其下载到本地,因此不需要进行config.vm.box_url的设置。
对于其他设置,将使用此设置。
* 仅更改config.vm.synced_folder。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "centos6.5-64"
config.vm.network :forwarded_port, guest: 22, host:2222, id: "ssh"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, ip: "192.168.33.10"
# Shared folders
config.vm.synced_folder "../vagrant-centos", "/vagrant-centos"
# VM option
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory","1028"]
v.customize ["modifyvm", :id, "--cpus","1"]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
启动
启动虚拟环境。
bash
$ vagrant up
使用 ‘virtualbox’ 提供程序启动主机 ‘default’…
[default] 清除之前设置的转发端口…
[default] 创建共享文件夹元数据…
[default] 清除之前设置的网络接口…
[default] 根据配置准备网络接口…
[default] 转发端口…
[default] — 22 => 2222 (适配器 1)
[default] 运行 ‘pre-boot’ 虚拟机自定义…
[default] 启动虚拟机…
[default] 等待虚拟机启动。这可能需要几分钟…
[default] 虚拟机启动完毕并准备就绪!
[default] 配置并启用网络接口…
[default] 挂载共享文件夹…
[default] — /vagrant
[default] — /vagrant-centos
确认无事可以成功启动,通过“vagrant ssh”进行连接的方式进行了确认,完成了整个过程。
結束
由于可以轻松安装所需的操作系统和版本,非常方便!