本文共 2085 字,大约阅读时间需要 6 分钟。
Vagrant是一个搭建完整的虚拟开发环境的工具,通常简写为VDE(Virtual Development Environment)。 Vagrant节省大量重建操作系统环境的时间,它也是一个配置中心,允许你使用一个相同的配置管理和部署多个VDE。 安装Vagrant的同时,你也需要安装VirtualBox,因为它是Vagrant的核心功能组建。 1、安装virtualbox sudo apt-get install virtualbox 2、vagrant是ruby开发的,所有安装ruby相关的东西 sudo apt-get -y install ruby rubygems 3、在vagrant官网下载deb包 wget https://releases.hashicorp.com/vagrant/1.9.0/vagrant_1.9.0_x86_64.deb sudo dpkge -i vagrant_1.9.0_x86_64.deb 或者直接使用apt-get安装 $ sudo apt-get install vagrant 4、下载官方封装好的基础镜像,我这里下载的是ubuntu64,是一个格式为box的文件 wget http://files.vagrantup.com/lucid64.box 5、将lucid64.box命名 mkdir box_ubuntu16 mv lucid64.box /home/toby/box_ubuntu16/ubuntu16.box 6、创建一个开发目录 mkdir ubuntu16_dev cd ubuntu16_dev 7、添加镜像到 Vagrant(名称ubuntu16_dev是box名称) toby@mypc:~/ubuntu16_dev$ vagrant box add ubuntu16_dev /home/toby/box_ubuntu16/ubuntu16.box 8、初始化开发环境(如果上一步添加box名称不是base,那么需要在初始化的时候指定名称,默认是base) toby@mypc:~/ubuntu16_dev$ vagrant init ubuntu16_dev toby@mypc:~/ubuntu16_dev$ ls -l -rw-rw-r-- 1 toby toby 3016 dic 2 00:29 Vagrantfile #初始化成功后会生成这个配置文件 9、修改设置 Vagrant 初始化成功后,会在初始化的目录里生成一个 Vagrantfile 的配置文件,可以修改配置文件进行个性化的定制。 Vagrant 默认是使用端口映射方式将虚拟机的端口映射本地从而实现类似 http://localhost:80 这种访问方式,这种方式比较麻烦,新开和修改端口的时候都得编辑。相比较而言,host-only 模式显得方便多了。打开 Vagrantfile,将下面这行的注释去掉(移除 #)并保存: config.vm.network :private_network, ip: "192.168.33.10" 重启虚拟机,这样我们就能用 192.168.33.10 访问这台机器了,你可以把 IP 改成其他地址,只要不产生冲突就行。 还有很多配置修改后续再继续详解; 10、启动虚拟机 在命令行工作目录下执行下面命令进行启动虚拟机 vagrant up 你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了,剩下的步骤就是在虚拟机里配置你要运行的各种环境和参数了。 重启虚拟机的命令 vagrant reload 11、SSH 登录也可以使用客户端连接工具连接 vagrant ssh vagrant@lucid64:~$ #看到这个已经是进来了虚拟机 12、连接上以后,切换到开发目录 cd /vagrant也就是宿主机上的 /home/toby/ubuntu16_dev 宿主机上的/home/toby/ubuntu16_dev目录对应虚拟机中的目录是 /home/vagran 13、打包分发 当你配置好开发环境后 退出并关闭虚拟机。在终端里对开发环境进行打包: vagrant package 打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。 14、常用命令 vagrant init # 初始化 vagrant up # 启动虚拟机 vagrant halt # 关闭虚拟机 vagrant reload # 重启虚拟机 vagrant ssh # SSH 至虚拟机 vagrant status # 查看虚拟机运行状态 vagrant destroy # 销毁当前虚拟机
本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1878893
转载地址:http://qumra.baihongyu.com/