使用 VirtualBox+Vagrant 创建 CentOS7 虚拟机
一、准备工作
1.1 软件下载
VirtualBox:Downloads – Oracle VM VirtualBox

Vagrant:Install | Vagrant | HashiCorp Developer

1.2 软件安装
- 安装 VirtualBox-7.0.10-158379-Win.exe
- 安装 vagrant_2.3.7_windows_amd64.msi
Notes:
- 安装目录记得修改下,默认安装在 C 盘。
- Vagrant 是没有图形界面的,所以安装完成后也没有桌面快捷方式。
Vagrant 的安装程序会自动把安装路径加入到 PATH 环境变量,所以,这时候可以通过命令行执行 vagrant version 检查是否安装成功:

1.3 VirtualBox 设置
VirtualBox 默认将虚拟机安装在 C 盘,我们最好手动修改一下:
打开 VirtualBox
依次点击「管理->全局设定->常规」
修改虚拟机安装位置

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
在 CentOS7 目录下打开 Windows PowerShell,打开方式:Shift + 鼠标右键 -> 在此处打开 Powershell 窗口

使用
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 指定一个名字
使用
vagrant box list验证是否成功:
Notes:我们可以通过指令
vagrant box remove [boxname]删除添加到 vagrant 中的 box,如vagrant box remove CentOS7。
2.1.2 新建虚拟机
使用
vagrant init [boxname]指令初始化虚拟机,如vagrant init CentOS7:
- 创建成功后,会在当前文件夹多一个「Vagrantfile」的文件。
使用
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 登录虚拟机了,具体方法如下:
打开 SecureCRT 新建连接,输入 IP、Port 和 Username 后,不要着急点 Connect:

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

最后点击 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 no 为 PasswordAuthentication yes,具体操作方式如下:
编辑 sshd_config:
sudo vi /etc/ssh/sshd_config:set nu显示行号:65跳转到第 65 行- 修改
PasswordAuthentication no为PasswordAuthentication yes

:wq保存后退出
使用
vagrant reload重启虚拟机:
使用密码登录:

- 默认登录密码为: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 将增强工具添加到虚拟集中
关闭虚拟机:
vagrant halt打开 VirtualBox,并对虚拟机进行设置:

成功安装后如下图所示:

3.2 修改 Vagrantfile

- 第一个路径:电脑中的目录,可以是绝对地址或相对地址,相对地址是指相对与 Vagrantfile 配置文件所在目录
- 第二个路径:挂载到虚拟机上的目录地址,没有当前目录则创建
3.3 挂载
启动虚拟机:
vagrant up登录虚拟机:
vagrant ssh进入根目录:
su root,密码默认为 vagrant依次执行如下指令:
# 如下指令一定是在 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
重启虚拟机:
vagrant reload查看是否成功:

四、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 | 删除虚拟机 |
参考资料
- Vagrant详细教程 - 码农教程 (manongjc.com)
- 『中级篇』windows下vagrant 通过SecureCRT连接centos7(33) - 简书 (jianshu.com)
- Vagrant+Secure CRT的使用 - 阿圆这个程序媛 - 博客园 (cnblogs.com)
- Vagrant-文件夹共享_vagrant 共享目录_一个小菜鸟x的博客-CSDN博客
- vagrant + virtualBox 安装centos7_box download is resuming from prior download progr_潇凝子潇的博客-CSDN博客
使用 VirtualBox+Vagrant 创建 CentOS7 虚拟机的更多相关文章
- 环境篇:Virtualbox+Vagrant安装Centos7
环境篇:Virtualbox+Vagrant安装Centos7 1 安装Vagrant Vagrant下载地址:https://www.vagrantup.com/ Vagrant百度网盘:https ...
- vagrant创建centos7后虚拟机磁盘爆满
1.问题现象 使用df -h命令,磁盘占用直接99%,明明啥也没干... 2.解决方案 找到C:\Users\你的用户名\.vagrant.d\boxes\centos7\0\virtualbox目 ...
- virtualbox创建centos7虚拟机
安装Virtualbox 下载安装: 直接到官网上下载,https://www.virtualbox.org/wiki/Downloads 然后一键傻瓜式的安装即可. 设置默认虚拟电脑位置: 管理=& ...
- [Linux]Vmwaer创建CENTOS7虚拟机
1 前期准备 CENTOS系统镜像 本实验版本: CENTOS 7.9 安装 VMware Workstation 本实验版本: VMware Workstation Pro 15.0 2 VMwar ...
- 二:通过VirtualBox+Vagrant创建一个centos的虚拟机:
官网安装VirtualBox及Vagrant. 下载centos7,添加到vagrant中. http://e-proxy.yfb.sunline.cn/download/vagrant/centos ...
- virtualbox + vagrant 安装centos7 以及 vagrant up下载太慢的解决方案
下载安装 virtualbox下载 vagrant下载 下载启动镜像vagrant up有下载过慢的问题,可以到网页vagrant镜像仓库,找到自己需要的镜像,选择virtualbox版本下载 下载好 ...
- Git+VirtalBaox+Vagrant创建Linux虚拟机
文章内容来自Udacity课程:Linux Command Line Basics--Getting Started with the Shell Your own Linux box To lear ...
- 在XenCenter6.2中构建CentOS7虚拟机的启动错误
在XenCenter6.2中创建CentOS7虚拟机时,发现系统并没有提供CentOS7 64bit的模板,只有CentOS6 64bit模板.如果采用CentOS6作为其模板来创建CentOS7虚拟 ...
- Vagrant 创建虚拟机
Vagrant 创建虚拟机 1. 下载相关软件 虚拟机软件:vmware virtualbox Vagrant 软件:vagrant cd /tmpwget http://download.vir ...
- Vagrant定制个性化CentOS7虚拟机模板
关于虚拟机模板 想用vagrant搭建hadoop集群,要完成以下准备工作: 三个虚拟机实例操作系统都是CentOS7的server版: 每个实例都要安装同样的应用.关闭防火墙.关闭swap等: 今天 ...
随机推荐
- MySQL中的Join 的算法(NLJ、BNL、BKA)
本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 目录 摘要 什么是Join Index Nested-Loop Join Block Nested-Loop Join ...
- 【深入浅出 Yarn 架构与实现】6-3 NodeManager 分布式缓存
不要跳过这部分知识,对了解 NodeManager 本地目录结构,和熟悉 Container 启动流程有帮助. 一.分布式缓存介绍 主要作用就是将用户应用程序执行时,所需的外部文件资源下载缓存到各个节 ...
- 2步打通ModelArts和Astro,实现AI应用快速落地
摘要:本文以 ModelArts 的"找云宝"自动学习 AI 应用为例,结合低代码平台 Astro 轻应用快速实现一个"找云宝"小应用. 本文分享自华为云社区& ...
- Java的抽象类 & 接口
抽象类 如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加抽象.从某种角度看,祖先类更加通用,人们只将它作为派生其他类的基类,而不作为想使用的特定的实例类.例如,考虑一下对 ...
- Go windows 环境搭建
下载地址 官网下载地址:https://golang.google.cn/dl/ 1.下载完之后 双击msi进行安装 路径可以不用改, 继续next 安装完之后就需要配置环境变量, 找到环境变量 GO ...
- Django4全栈进阶之路20 项目实战(在线报修):项目需求分析
为了实现一个在线报修系统,您可以按照以下步骤进行: 创建Django项目和应用 使用Django的命令行工具创建一个Django项目,并在该项目中创建一个名为"RepairApp" ...
- 计算机网络 VRRP和DHCP
目录 一.vrrp概念 二.vrrp工作过程 三.vrrp优先级 四.vrrp实验 五.DHCP概念 六.DHCP工作过程 七.DHCP实验 一.vrrp概念 概念:称虚拟路由器冗余协议,当网关路由器 ...
- 可视化生信分析利器 Galaxy 之 Docker 部署
Galaxy Project(https://galaxyproject.org/)是很多年前在云计算背景下诞生的一个生物信息学可视化分析开源项目, 是目前生物医学研究领域最受欢迎的在线生物信息分析工 ...
- GO通道:无缓冲通道与缓冲通道
转载请注明出处: 1.通道定义 在多个协程之间进行通信和管理,可以使用 Go 语言提供的通道(Channel)类型.通道是一种特殊的数据结构,可以在协程之间进行传递数据,从而实现协程之间的通信和同步. ...
- 一站式数据可观测性平台 Datavines 正式开源啦
Datavines是一站式开源数据可观测性平台,提供元数据管理.数据概览报告.数据质量管理,数据分布查询.数据趋势洞察等核心能力,致力于帮助用户全面地了解和掌管数据,让您做到心中有数,目前作为 Dat ...

