一、准备工作

1.1 软件下载

  1. VirtualBox:Downloads – Oracle VM VirtualBox

  2. Vagrant:Install | Vagrant | HashiCorp Developer

1.2 软件安装

  1. 安装 VirtualBox-7.0.10-158379-Win.exe
  2. 安装 vagrant_2.3.7_windows_amd64.msi

Notes:

  1. 安装目录记得修改下,默认安装在 C 盘。
  2. Vagrant 是没有图形界面的,所以安装完成后也没有桌面快捷方式。

Vagrant 的安装程序会自动把安装路径加入到 PATH 环境变量,所以,这时候可以通过命令行执行 vagrant version 检查是否安装成功:

1.3 VirtualBox 设置

VirtualBox 默认将虚拟机安装在 C 盘,我们最好手动修改一下:

  1. 打开 VirtualBox

  2. 依次点击「管理->全局设定->常规」

  3. 修改虚拟机安装位置

1.4 下载 CentOS7 虚拟镜像

使用 Vagrant 创建虚拟机时,需要指定一个镜像文件,也就是 .box 文件。开始这个 .box 文件并不存在,所以 Vagrant 会先从网上下载,然后缓存在本地目录中,但是这里默认下载往往会比较慢,所以我们最好是提前下载好:

1.5 打包下载

链接:https://pan.baidu.com/s/1sy6-bsfhYsSPoGoVw3RmTw?pwd=3vkr

提取码:3vkr

二、安装 CentOS7

2.1 新建虚拟机

我们在创建虚拟机的时候,会生产一些文件,所以我们最好为每个虚拟机都创建一个独立的文件夹,如我为其创建的文件夹为 D:\VMWare\Vagrant\CentOS7

2.1.1 添加 box

  1. 在 CentOS7 目录下打开 Windows PowerShell,打开方式:Shift + 鼠标右键 -> 在此处打开 Powershell 窗口

  2. 使用 vagrant box add 指令将 CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box 添加到 vagrant 中:

    vagrant box add D:\VMWare\Vagrant\CentOS7\image\CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box --name CentOS7
    • add 后的路径替换为你实际镜像的路径
    • --name:为这个 box 指定一个名字
  3. 使用 vagrant box list 验证是否成功:

Notes:我们可以通过指令 vagrant box remove [boxname] 删除添加到 vagrant 中的 box,如 vagrant box remove CentOS7

2.1.2 新建虚拟机

  1. 使用 vagrant init [boxname] 指令初始化虚拟机,如 vagrant init CentOS7

    • 创建成功后,会在当前文件夹多一个「Vagrantfile」的文件。
  2. 使用 vagrant up 指令创建并启动虚拟机,并可以通过 vagrant status 查看虚拟机启动状态:

    • running:表明我们的虚拟机启动成功了

2.2 登录虚拟机

2.2.1 使用 vagrant 登录

使用指令 vagrant ssh 登录虚拟机,并可通过使用 $ sudo -i 切换为 root 用户:

2.2.2 使用 SecureCRT 免密登录

在使用 vagrant up 指令后,会在 CentOS7 目录下自动生成一个 .vagrant 目录,在该目录下有个 private_key 文件:D:\VMWare\Vagrant\CentOS7.vagrant\machines\default\virtualbox\private_key。

使用 vagrant 启动 CentOS7 时,有默认的端口,一般是 2222,IP 是 127.0.0.1。有了 IP 和 Port 后,接下来就可以使用 SecureCRT 登录虚拟机了,具体方法如下:

  1. 打开 SecureCRT 新建连接,输入 IP、Port 和 Username 后,不要着急点 Connect:

  2. 依次点击「PublicKey->Properties...」,设置 Private_key:

  3. 最后点击 Connect 即可成功登录:

2.2.2 使用 SecureCRT 密码登录

要想使用密码登录,需要修改配置文件:

[vagrant@10 ~]$ sudo cat -n /etc/ssh/sshd_config | grep PasswordAuthentication
63 #PasswordAuthentication yes
65 PasswordAuthentication no
88 # PasswordAuthentication. Depending on your PAM configuration,
92 # PAM authentication, then enable this but set PasswordAuthentication
  • 查找 PasswordAuthentication 的位置

修改第 65 行的 PasswordAuthentication noPasswordAuthentication yes,具体操作方式如下:

  1. 编辑 sshd_config:sudo vi /etc/ssh/sshd_config

    1. :set nu 显示行号
    2. :65 跳转到第 65 行
    3. 修改 PasswordAuthentication noPasswordAuthentication yes

    4. :wq 保存后退出
  2. 使用 vagrant reload 重启虚拟机:

  3. 使用密码登录:

    • 默认登录密码为:vagrant

2.3 使用私有网络登录

2.3.1 关闭虚拟机

修改前,先关闭虚拟机:

vagrant halt	# PowerShell 下执行

如下图所示:

2.3.2 获取 VirtualBox 的 IP

查找方式如下图所示:

2.3.3 修改 Vagrantfile

编辑虚拟机目录下的 Vagrantfile 文件:

  • 取消第 35 行的注释,并将 ip 修改为 192.168.56.56(和 VirtualBox 同网段即可)

2.3.4 使用私有 IP 登录

启动虚拟机(vagrant up),并在 SecureCRT 中使用 192.168.56.56 / 22 登录:

三、设置共享文件夹

3.1 VBoxGuestAdditions.iso

3.1.1 获取文件

VirtualBox 提供了一个增强工具的镜像,默认安装在安装目录下,如:

D:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso

如果没有,可以去官网下载:Index of http://download.virtualbox.org/virtualbox/7.0.10

3.1.2 将增强工具添加到虚拟集中

  1. 关闭虚拟机:vagrant halt

  2. 打开 VirtualBox,并对虚拟机进行设置:

成功安装后如下图所示:

3.2 修改 Vagrantfile

  • 第一个路径:电脑中的目录,可以是绝对地址或相对地址,相对地址是指相对与 Vagrantfile 配置文件所在目录
  • 第二个路径:挂载到虚拟机上的目录地址,没有当前目录则创建

3.3 挂载

  1. 启动虚拟机:vagrant up

  2. 登录虚拟机:vagrant ssh

  3. 进入根目录:su root,密码默认为 vagrant

  4. 依次执行如下指令:

    # 如下指令一定是在 root 下执行的
    $ yum -y update
    $ yum -y install gcc
    $ yum -y install kernel
    $ yum -y install kernel-devel
    $ mount /dev/cdrom /mnt
    $ cd /mnt
    $ ./VBoxLinuxAdditions.run
  5. 重启虚拟机:vagrant reload

  6. 查看是否成功:

四、vagrant 常用命令

命令 作用
vagrant up 启动虚拟机
vagrant halt 关闭虚拟机
vagrant reload 重启虚拟机
vagrant status 查看虚拟机状态
vagrant ssh 登录虚拟机
exit 退出虚拟机
vagrant box list 查询 box
vagrant box add [box 路径] --name [boxname] 新增 box
vagrant box remove [boxname] 删除指定 box
vagrant destroy 删除虚拟机

参考资料

使用 VirtualBox+Vagrant 创建 CentOS7 虚拟机的更多相关文章

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

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

  2. vagrant创建centos7后虚拟机磁盘爆满

    1.问题现象 使用df -h命令,磁盘占用直接99%,明明啥也没干...  2.解决方案 找到C:\Users\你的用户名\.vagrant.d\boxes\centos7\0\virtualbox目 ...

  3. virtualbox创建centos7虚拟机

    安装Virtualbox 下载安装: 直接到官网上下载,https://www.virtualbox.org/wiki/Downloads 然后一键傻瓜式的安装即可. 设置默认虚拟电脑位置: 管理=& ...

  4. [Linux]Vmwaer创建CENTOS7虚拟机

    1 前期准备 CENTOS系统镜像 本实验版本: CENTOS 7.9 安装 VMware Workstation 本实验版本: VMware Workstation Pro 15.0 2 VMwar ...

  5. 二:通过VirtualBox+Vagrant创建一个centos的虚拟机:

    官网安装VirtualBox及Vagrant. 下载centos7,添加到vagrant中. http://e-proxy.yfb.sunline.cn/download/vagrant/centos ...

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

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

  7. Git+VirtalBaox+Vagrant创建Linux虚拟机

    文章内容来自Udacity课程:Linux Command Line Basics--Getting Started with the Shell Your own Linux box To lear ...

  8. 在XenCenter6.2中构建CentOS7虚拟机的启动错误

    在XenCenter6.2中创建CentOS7虚拟机时,发现系统并没有提供CentOS7 64bit的模板,只有CentOS6 64bit模板.如果采用CentOS6作为其模板来创建CentOS7虚拟 ...

  9. Vagrant 创建虚拟机

    Vagrant  创建虚拟机 1. 下载相关软件 虚拟机软件:vmware  virtualbox Vagrant 软件:vagrant cd /tmpwget http://download.vir ...

  10. Vagrant定制个性化CentOS7虚拟机模板

    关于虚拟机模板 想用vagrant搭建hadoop集群,要完成以下准备工作: 三个虚拟机实例操作系统都是CentOS7的server版: 每个实例都要安装同样的应用.关闭防火墙.关闭swap等: 今天 ...

随机推荐

  1. 高精度地形DEM数据下载(NASA数据 12.5米分辨率)

    本文介绍从NASA阿拉斯加卫星设备处网站下载高精度DEM数据,下载的数据精度是12.5米分辨率. 目前国内大部分可以下载的dem数据都是30米或90米分辨率的,对于更高精度的数据要不就是需要付费下载, ...

  2. 2022-08-22:给定一个数组arr,长度为n,最多可以删除一个连续子数组, 求剩下的数组,严格连续递增的子数组最大长度。 n <= 10^6。 来自字节。5.6笔试。

    2022-08-22:给定一个数组arr,长度为n,最多可以删除一个连续子数组, 求剩下的数组,严格连续递增的子数组最大长度. n <= 10^6. 来自字节.5.6笔试. 答案2022-08- ...

  3. 2021-07-02:正则表达式匹配。给定一个字符串s和一个匹配串p。“.“匹配单个字符。“*“匹配左边元素的多个字符。判断p是否匹配s。比如s=“ab“,p=“a.“,返回true。比如s=“ab“

    2021-07-02:正则表达式匹配.给定一个字符串s和一个匹配串p."."匹配单个字符.""匹配左边元素的多个字符.判断p是否匹配s.比如s="ab ...

  4. 【实践篇】领域驱动设计:DDD工程参考架构

    背景 为什么要制定参考工程架构 不同团队落地DDD所采取的应用架构风格可能不同,并没有统一的.标准的DDD工程架构.有些团队可能遵循经典的DDD四层架构,或改进的DDD四层架构,有些团队可能综合考虑分 ...

  5. FreeSWITCH添加自定义endpoint

    操作系统 :CentOS 7.6_x64      FreeSWITCH版本 :1.10.9   日常开发过程中会遇到需要扩展FreeSWITCH对接其它系统的情况,这里记录下编写FreeSWITCH ...

  6. SqlServer 设置用户只能访问特定表、特定数据库

    设置用户只能访问特定表.特定数据库 一.只能访问特定数据库 1.[安全性]-[登录名]右击用户.打开属性,选择用户映射,勾选特定数据库 2. 如果 服务器角色 勾选了 [查看任意数据库],那么登录后会 ...

  7. Firefox Quantum 向左,Google Chrome 向右

    今天,又重新安装了一下 Firefox Quantum-68.0 (64 位),不同的是这一次安装的是国际中文版,而不是北京谋智火狐的版本. 北京谋智火狐 国际中文版 总的来说,有几点体验: 在 ht ...

  8. 经纬度坐标为中心点生成米距离长度半径的圆形面,含java js源码+在线绘制,代码简单零依赖

    目录 java版源码 js版源码 在线绘制预览效果 关于计算的精确度 前些时间在更新我的坐标边界查询工具的时候,需要用到经纬度坐标点的距离计算,和以坐标点为中心生成一个指定距离为半径的圆,搜了一下没有 ...

  9. 使用python连接阿里云iot平台时遇到的问题及解决方法(on_connect打印的rc值为9,上传物模型值)

    使用python连接阿里云iot平台时遇到的问题及解决方法                                                            on_connect打 ...

  10. 【Leetcode】 two sum #1 for rust solution

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍. 示 ...