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命令详解

命令 作用

vagrant box add 添加box的操作

vagrant init 初始化box的操作,会生成vagrant的配置文件Vagrantfile

vagrant up 启动本地环境

vagrant ssh 通过ssh登录本地环境所在虚拟机

vagrant halt 关闭本地环境

vagrant suspend 暂停本地环境

vagrant resume 恢复本地环境

vagrant reload 修改了Vagrantfile后,使之生效(相当于先 halt,再 up)

vagrant destroy 彻底移除本地环境

vagrant box list 显示当前已经添加的box列表

vagrant box remove 删除相应的box

vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包

vagrant plugin 用于安装卸载插件

vagrant status 获取当前虚拟机的状态

vagrant global-status 显示当前用户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

6错误解决

➜  vagrant vagrant box add centos /Users/knight/vagrant/vagrant-centos-7.2.box

==> box: Box file was not detected as metadata. Adding it directly...

==> box: Adding box 'centos' (v0) for provider:

box: Unpacking necessary files from: file:///Users/knight/vagrant/vagrant-centos-7.2.box

An error occurred while downloading the remote file. The error

message, if any, is reproduced below. Please fix this error and try

again.

#最后解决方法:

sudo rm -rf /opt/vagrant/embedded/bin/curl

删掉 vagrant 自带的 curl ,用系统默认的; 或者把系统 curl 软连接到 /opt/vagrant/embedded/bin/ 也是一样。

修改默认登录用户

  默认的登录用户是vagrant,如果想实现默认root登录,可在Vagrantfile 文件中添加如下配置:

config.ssh.username = 'root'

config.ssh.password = 'vagrant'

config.ssh.insert_key = 'true'

更新源,配置开发环境

https://webtatic.com/packages/php70/

//vagrant删除安装包

vagrant box remove xxx

vagrant安装centos7的更多相关文章

  1. 环境篇:Virtualbox+Vagrant安装Centos7

    环境篇:Virtualbox+Vagrant安装Centos7 1 安装Vagrant Vagrant下载地址:https://www.vagrantup.com/ Vagrant百度网盘:https ...

  2. virtualbox + vagrant 安装centos7 以及 vagrant up下载太慢的解决方案

    下载安装 virtualbox下载 vagrant下载 下载启动镜像vagrant up有下载过慢的问题,可以到网页vagrant镜像仓库,找到自己需要的镜像,选择virtualbox版本下载 下载好 ...

  3. 01-vagrant安装centos7

    1. 安装VirtualBox 2. 安装Vagrant 3. 下载 centos-7.0-x86_64.box   [安装命令] $ mkdir vagrant $ cd vagrant $ vag ...

  4. Vagrant安装Docker

    ======方法1=========== 一.vagrant安装centos 1.1 什么是vagrant: Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle ...

  5. Virtualbox/Vagrant安装

    它们分别是什么? VirtualBox: 号称是最强的免费虚拟机软件和VM类似. 不仅具有丰富的特色,而且性能也很优异. Vagrant: 是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 使 ...

  6. vagrant 安装虚拟机

    目录 搭建属于你的环境 安装virtualbox 安装 vagrant vagrant 添加系统镜像box 新建虚拟机 相关配置 ==遇到问题== [TOC] 搭建属于你的环境 安装环境有时也是头疼的 ...

  7. Vagrant安装步骤

    Vagrant安装步骤 下载添加box镜像 vagrant box add base 远端的box地址或者本地的box文件名 建立box镜像关联 vagrant box add centos72 va ...

  8. vagrant安装的坑

    关于VAGRANT安装过程的坑 标签: 虚拟化     闲来无聊 试试vagrant虚拟化技术 安装过程中坑太多了 所以记录下方便以后 注意: 执行 vagrant up 命令报错 如下   PS F ...

  9. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

随机推荐

  1. MySQL修改提示符

    MySQL提示符 \D 完整日期 \d 当前数据库 \h 服务器名称 \u 当前用户 1.连接之前修改提示符 mysql -uroot -proot --prompt [MySQL提示符] 2.连接之 ...

  2. python 冒泡和快排,不多说

    #-*-coding:utf8-*- import random a=[] b=[] def init_array(): for i in range(10000): v = random.randi ...

  3. Linux修改BASH命令提示符

    Shell命令提示符及颜色是由PS1来配置: 1.其中PS1常用的参数含义如下: \d :#代表日期,格式为weekday month date,例如:"Mon Aug 1" \H ...

  4. Map集合遍历的4种方法

    完全复制https://www.cnblogs.com/blest-future/p/4628871.html import java.util.HashMap; import java.util.I ...

  5. window.onload与$(document).ready()之区别

    1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.         $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2 ...

  6. 怎样在ado.net中存取excel和word呢?

    办公软件指可以进行文字处理.表格制作.幻灯片制作.图形图像处理.简单数据库的处理等方面工作的软件.当然啦,这也包括了word.Excel以及PPT等.现在我们就一起来学习一下:怎样在ado.net中存 ...

  7. .Net程序员玩转Android系列之一~Java快速入门

    前言 前段时间受公司业务发展需要,探索性进入Android开发领域.一切从零开始,java基础,Java进阶,Android框架学习,Eclipse熟悉,最终到第一个即时通讯App完成,历经一个月的时 ...

  8. Java - 网络IO的阻塞

    最近学习时碰到事件驱动和非阻塞的相关知识,随之想到了Java中的Reactor.io与nio的一些东西:在前辈的博客上翻了翻.复习复习,在此记录一番. 实在找不到比较大点的东西,于是随便弄了个压缩包, ...

  9. golang学习之beego增删改查代码实现

    记录下使用beego的增删改查实现,数据库使用mysql,完整代码如下: package main import ( _ "crud_beego/routers" //自动注册路由 ...

  10. 【Hadoop系列】linux SSH原理解析

    本文中斜体加粗代表shell指令,操作环境 CentOS6.5 linux root免密码登录链接:[Hadoop系列]linux下 root用户免密码登录远程主机 ssh. linux 非root用 ...