vagrant搭建虚拟机 相对 vmware更轻量级,更好控制管理,对于普通测试环境搭建还是挺不错的。这里介绍下如何使用vagrant。
首先介绍个概念
Vagrant可以为你提供可配置、可再生、便携的工作环境,它主要是一个中间层技术,它的下层是VirtualBox, VMware, AWS或者其他provider,它的上层是provisioning工具,比如shell scripts, Chef, or Puppet等可以自动化安装和配置软件的工具。
这里vagrant是基于Oracle的 VirtualBox的。
准备工作:
vagrant 下载地址: http://www.vagrantup.com/downloads.html
VirtualBox下载地址: https://www.virtualbox.org/wiki/Downloads
Centos的box镜像下载地址:https://atlas.hashicorp.com/boxes/search 或者 http://www.vagrantbox.es/
三个东西下载好后,可以vagrant和 vitualBox的安装了。安装完毕即可开始装centos虚拟机。下载centos注意根据你的windows系统32位 X86 64位可下载 X64.
重要的问题 : 注意vagrant和vitualbox需要版本对应
vagrant 1.8.4 对应 virtualbox 5.0.*
win10 需要 vagrant 1.9.* 对应 virtualbox 5.1.*
一般下载最新的 va 和 vbox 即可
接下来开开始安装
1、添加centos镜像源环境,我下载的centos为centos65-x86_64-20140116.box
打开windows cmd命令行:
vagrant box add centos6.5 centos65-x86_64-20140116.box
注意中间 centos6.5就是镜像的名称
可以使用一下命令查看
vagrant box list
2、初始化一个centos实例
mkdir test1 cd test1 vagrant init centos6.5
3、启动虚拟机实例
vagrant up
4、使用virtualbox查看管理
因为装vagrant的时候会关联 virtualbox,当vagrant up启动一个实例后会自动关联到virtualbox的。
5、愉快的玩耍
默认的地址端口为 127.0.0.1:2222
账号密码:vagrant vagrant
把虚拟机中的鼠标切换到主机里的方法:
(右边) ctrl 键(注意是右边的CTRL键),这样鼠标就回到主机的界面中了
如果出现 virtualbox centos 键盘输入字符异常,比如 输入- 结果是 ,
这是修改下 /etc/sysconfig/keyboard :如下
KEYTABLE="us" MODEL="pc105" LAYOUT="us" KEYBOARDTYPE="pc"
然后在命令上输入以下立即生效
udevadm trigger –subsystem-match=input –action=change 或者 udevadm trigger –subsystem-match
Mac 安装问题 :
default: Warning: Authentication failure. Retrying...
解决方案参考 http://computingforgeeks.com/how-to-fix-vagrant-ssh-authentication-failure-after-packaging-vagrant-box/
Step 1: 生成sshkey到 以下目录
/Users/cleey/softs/vagrant_vmpace/dev1/.ssh/ ssh-keygen -t rsa
Step 2: 编辑Vagrantfile,添加内容
config.ssh.username = "vagrant" config.ssh.password = "vagrant" config.ssh.private_key_path = "/Users/cleey/softs/vagrant_vmpace/dev1/.ssh/id_rsa" config.ssh.forward_agent = true
然后启动,即可
问题二
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["startvm", "556f0ce5-1d01-4303-b9b8-247e1c8584a0", "--type", "headless"] Stderr: VBoxManage.exe: error: The virtual machine 'test2_default_1468478843311_90109' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component MachineWrap, interface IMachine
后期 win10升级后出现以上错误。
原版本 vagrant 1.8.* vbox 5.0.* 直接升级至 vagrant 1.9.* vbox 5.1.* 最新版即可,升级前请备份虚拟机,以防万一(搜索 vagrant博客其他文章有写)。
我直接卸载升级原来的虚拟机还可以用,(备份没用上)。