vagrant系列(1):使用vagrant在线/离线安装centos7
来源:互联网 发布:淘宝客订单部分退款 编辑:程序博客网 时间:2024/05/19 18:16
Vagrant是一款用来构建虚拟开发环境的外挂工具,可以简化虚拟机配置和管理。它底层支持VirtualBox、VMware、AWS等,非常适合使用php/python/ruby/java语言开发web应用,“代码在我机子上运行没有问题”这种说辞将成为历史。
1. 安装VirtualBox
去官网https://www.virtualbox.org/wiki/Downloads下载最新版的Virtualbox,然后双击安装,一直点击确认完成。
2. 安装Vagrant
去官网 https://www.vagrantup.com/downloads.html下载最新版的Vagrant,然后双击安装,一直点击确认完成。在windows下安装vagrant,为了写入相应配置到环境变量,系统可能会要求重新启动。在命令行中,输入vagrant
,查看程序是不是已经运行了。如果不行,请检查一下$PATH里面是否包含vagrant所在的路径
3. Vagrant命令详解
4. 使用Vagrant安装配置虚拟机
4.1 box是什么?
接下来,我们需要选择使用何种操作系统,这里以centos7.2为例。以前基于虚拟机的工作流,我们需要下载ISO镜像,安装系统,设置系统等操作。而Vagrant开源社区提供了许多已经打包好的操作系统,我们称之为box。你可以从box下载地址(下文列出),找到你想要的box,当然你也可以自己制作一个。
官方仓库:https://atlas.hashicorp.com/boxes/search
官方镜像:https://vagrantcloud.com/boxes/search
第三方仓库:http://www.vagrantbox.es/
4.2 如何安装一个box?
我们需要建立自己的开发环境目录:
$ mkdir -p /Users/jackyue/data/vagrant/centos7$ cd /Users/jackyue/data/vagrant/centos7
Vagrant提供在线安装服务,非常方便,但由于伟大的GFW,我们需要先FQ把box下载到本地,然后导入安装。box链接:https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
以下是导入安装说明:
$ vagrant box add {title} {url}$ vagrant init {title}$ vagrant up
vagrant box add
是添加box的命令,{title}是以后创建虚拟机的别名,{url}是下载到本地box的路径,也可以是服务器端的URL。
说明:将box镜像添加到本地仓库,有三种方式:
- 使用http绝对地址
vagrant box add precises64 http://files.vagrantup.com/precise64.box
- 使用本地文件(从协议来说,和上面一样,相当于file:///协议的地址)
vagrant box add precises64 ./precise64.box
- 使用仓库名称
vagrant box add precises64 ubuntu/precise64
这种方式,vagrant会自动在中央仓库查找镜像,并下载到本地镜像库中。
vagrant box add ubuntu/precise64
省略本地镜像名称,则直接用中央仓库中的镜像名作为本地镜像名,这样做的好处是可以跟仓库中的镜像对应。
4. 3 安装centos7 box
$ cd /Users/jackyue/data/vagrant/centos7 //找到一个目录,作为初始化目录$ vagrant box add centos7 /Users/jackyue/data/vagrant/centos/centos-7.0-x86_64.box //建议采取离线安装,这样有利于放置虚拟机文件到指定路径==> box: Box file was not detected as metadata. Adding it directly...==> box: Adding box 'centos7' (v0) for provider: box: Unpacking necessary files from: file:///Users/jackyue/data/vagrant/vagrant-centos-7.2.box==> box: Successfully added box 'centos7' (v0) for 'virtualbox'!
box中的镜像文件被放到了/Users/jackyue/data/vagrant/.vagrant/machines/之下
4.4初始化镜像
$ vagrant init centos7//如果是新添加的box,必须执行本步骤,初始化一次之后,就不需要再执行本步骤A `Vagrantfile` has been placed in this directory.You are now ready to `vagrant up` your first virtual environment!Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
初始化成功后,vagrant会在当前的初始化目录生成一个Vagrantfile配置文件,我们可以修改它,进行个性化定制。在下一篇文章中,我们会具体讲解关于Vagrantfile的配置。对于Vagrantfile文件,我们可以直接编写,或者从网络上拉取Vagrantfile文件后,作为虚拟机配置文件,如下:
$ mkdir -p ~/vm/coreos$ cd ~/vm/coreos$ git clone https://github.com/coreos/coreos-vagrant.git
4.5 启动系统
$ vagrant up // 第一次开启的时候,建议一台一台地开启,这样的话方便记录映射的本地端口号Bringing machine 'default' up with 'virtualbox' provider...==> default: Importing base box 'centos7'...==> default: Matching MAC address for NAT networking...==> default: Setting the name of the VM: centos7_default_1493108555390_12825==> default: Clearing any previously set network interfaces...
4.6 SSH连接安装的虚拟机
经过以上操作后,我们完成了centos7虚拟机的安装,现在需要登录虚拟机,进行操作,有以下三种方式:
- 在开发环境的目录(有Vagrantfile的地方),登录虚拟机
$ vagrant ssh
使用第三方工具,如secureCRT)或系统ssh命令进行登录,IP为Vagrantfile中指定的hostonly地址,用户名与密码默认都是vagrant
在宿主机的命令行,ssh到本地端口的方式登录。观察客户机的22端口映射到宿主机的是多少,一般是2200或者2222,用户名与密码默认都是vagrant
$ ssh -p 2222 127.0.0.1
5. 打包分发
当你配置好开发环境后,退出并关闭虚拟机。在终端里,对虚拟机打包
# vagrant halt // 在开发环境的目录,关闭centos7# vagrant status // 确认centos7关机# vagrant package centos7 --output centos7.box --vagrantfile Vagrantfile// --output NAME:(可选)设置通过NAME来指定输出的文件名;--vagrantfile FILE:(可选)将Vagrantfile直接封进box中
注:如果网络模式中使用private_network的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:rm -f /etc/udev/rule.d/70-persistent-net.rules
打包完成后会在当前目录生成一个centos7.box的文件,将这个文件分发给其他用户(开发者)。
其他用户只要添加这个 box ,并用其初始化自己的开发目录,就能得到一个一模一样的开发环境了。
# vagrant box add centos7 centos7.box //添加package.box,镜像命名为centos7$ vagrant init centos7 // 初始化centos7镜像$ vagrant up
- vagrant系列(1):使用vagrant在线/离线安装centos7
- vagrant+centos7 安装报错
- vagrant 安装与使用
- Vagrant安装和使用
- Vagrant入门系列(1)
- Vagrant使用【1】
- vagrant系列一:vagrant的安装与初识
- Vagrant安装
- vagrant 安装
- vagrant系列(2):使用Vagrantfile实现集成预安装
- vagrant系列五:Vagrant使用中遇到的坑
- 使用vagrant安装linux环境
- vagrant从安装到使用
- vagrant 的安装与使用
- vagrant 介绍,安装与使用
- Vagrant
- vagrant
- vagrant
- 【C语言】优先级和求值顺序
- Queue Reconstruction by Height
- Genymotion ova文件下载过慢怎么办?
- LeetCode(6)
- C++抽象编程——STL实战(4)——计算集合的交集,并集及区别
- vagrant系列(1):使用vagrant在线/离线安装centos7
- 深入理解C++中public、protected及private用法
- Java基础回顾--String对象中常用的方法
- 作业4:杨辉三角&奇偶阶乘&数组平均数
- LeetCode98. Validate Binary Search Tree Add to List
- python 创建多级目录
- Maven项目中没有出错,但是项目有个红色的叉
- Atitit easyui翻页组件与vue的集成解决方案attilax总结
- Atitit 视图参数解决方案 oracle版和mysql版本 attilax总结.docx