Vagrant搭配VirtualBox快速安装虚拟机

在开发中,可能会有用到虚拟机的情况,比如说CentOS,但是通过VMware Workstation工具感觉又有点重量了,因为我感觉VMware Workstation挺吃配置的,于是这里介绍Vagrant搭配VirtualBox快速安装虚拟机。


安装Linux虚拟机

下载VirtualBox

下载 VirtualBox (windows版) : 点我去下载 ,记得windows使用虚拟机要开启CPU虚拟化,在BIOS里开启,具体操作自行百度。

下载好安装即可。

下载Vagrant

下载 Vagrant (可以快速通过镜像创建虚拟机):

Vagrant 官方镜像仓库: 点我跳转

Vagrant 官方下载地址: 点我去下载

由于官方下载实在太慢,这里我分享我的百度云给大家下载:链接:点我去下载 ,提取码:d28l

下载好安装即可,安装完需要重启电脑完成相应的配置。

重启之后,在 cmd 命令窗口输入:vagrant -v ,如有相应的版本信息输出,则说明安装成功!

输入命令 vagrant init centos/7 ,即可在此目录初始化一个 Vagrantfile 文件。

image-20210129130816369

然后输入 vagrant up 命令去启动,它会下载对应的内容,过程有点慢,于是我找了解决方案,那就是使用中科大的镜像:

1
2
3
4
5
# 初始化
vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box

# 启动
vagrant up

看到下图的标记的信息表示已经完成了, 使用 CTRL+C 退出

image-20210129134321981

如果启动完成了,在 VirtualBox 中就可以看到虚拟机了,并且是运行状态

image-20210129134414750

启动完成后,在 cmd 窗口输入 vagrant ssh ,去连接虚拟机,然后就可以在 windows 窗口中操作 linux 了。

image-20210129134519054


如果不想用 vagrant 下载,可以自己去下载一个镜像,导入到 VirtualBox 中,镜像地址: 去获取 ,提取码:y4c6 ,下载好通过 VirtualBox 导入启动即可。

注意: VirtualBox 可能会与一些软件冲突,比如红蜘蛛,360,净网大师等,需要卸载这些软件。

参考文章: 点我跳转

虚拟机网络设置

使用上述方式装的虚拟机默认使用的是网络地址转换-端口转发方式,比较麻烦。

image-20210129140305715

我们可以给虚拟机设置一个固定的 ip ,然后和主机相互ping通,通过 SSH 客户端软件连接即可。

在windows命令窗口中使用 ipconfig 查看虚拟机的 ip网段 ,比如我这里是 192.168.56.x 网段

image-20210129135620454

打开 Vagrantfile 文件,把 ip 修改到对应 ip 网段

image-20210129140147399

使用 vagrant reload 命令,重新启动虚拟机。

使用 vagrant ssh 连接虚拟机。

在虚拟机中,使用 ip addr 命令查看 ip 地址。

image-20210129140647803

打开另一个 cmd 窗口,先用 ipconfig 查看主机的 ip 地址。

image-20210129140853062

使用 ping 命令,查看主机和虚拟机是否能 ping 通。

主机 ping 虚拟机。

image-20210129141022335

虚拟机 ping 主机。

image-20210129141151478

这样虚拟机网络就设置好了。

补充:虚拟机的 ip 地址信息都是 vagrant 帮我们配置的。

我们还可以加入以下配置,首先进入配置文件

1
vim /etc/sysconfig/network-scripts/ifcfg-eth1

加入以下配置:

image-20210207143949408

1
2
3
GATEWAY=192.168.56.1
DNS1=114.114.114.114
DNS2=8.8.8.8

重启网络

1
service network restart

修改 linux 的 yum 源

1
2
3
4
5
6
7
8
# 1、备份原 yum 源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 2、使用新 yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

# 3、生成缓存
yum makecache

xshell连接虚拟机

使用 vagrant 创建 centos7 虚拟机,然后使用 “vagrant ssh 主机名”连接是可以连接到主机的。但是,通过平常的方式使用xshell 却无法直接连接。所以,在此记录一下使用 xshell 连接虚拟机方法,从而使使用更加方便。

1、进入 Vagrantfile 所在目录,执行 vagrant ssh-config

2、查看HostNamePortIdentityFile 三个参数

image-20210129143732460

3、使用 xshell

(1)IP 和端口号采用上面的 HostName 和 Port

image-20210129144125042

(2)用户名和密码:vagrant/vagrant

密码选择上一步骤的IdentityFile 中的 private_key

image-20210129144646908

(3)连接成功

image-20210129144751740

4、配置 xshell 远程 root 用户登录

(1)切换到 root

1
sudo -i

(2)设置 root 的密码

1
vi /etc/ssh/sshd_config

(3)放开配置,取消前面的 #

image-20210129153051574

(4)修改属性

1
PasswordAuthentication yes

image-20210129153219766

(5)重启 ssh 服务,即可使用 xshell 连接

1
systemctl restart sshd

(6)使用root/vagrant即可连接,ip 和端口号和之前一样

5、使用 ip 连接

因为创建虚拟机时,指定 ip 为192.168.56.10,所以,此时可以通过 xshell 连接 192.168.56.1022 端口,也是可以访问的。

Vagrantfile

这里贴出一个可用的Vagrantfile文件,在非中文目录新建Vagrantfile文件,然后将如下内容粘贴进去。

然后在此目录运行 vagrant up 创建即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Vagrant.configure("2") do |config|
config.vm.box_url = "https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box"

# 设置虚拟机的Box
config.vm.box = "centos/7"

# 设置虚拟机的主机名
config.vm.hostname="mycentos"

# 设置虚拟机的IP,每次创建的时候,注意ip不能相同,都在192.168.56.x段
config.vm.network "private_network", ip: "192.168.56.101"

# 设置主机与虚拟机的共享目录
# config.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"

# VirtaulBox相关配置
config.vm.provider "virtualbox" do |v|
# 设置虚拟机的名称,这个会在VirtualBox中显示的
v.name = "mycentos"
# 设置虚拟机的内存大小
v.memory = 4096
# 设置虚拟机的CPU个数
v.cpus = 4
end
end
点击查看

本文标题:Vagrant搭配VirtualBox快速安装虚拟机

文章作者:LiJing

发布时间:2022年03月27日 - 19:36:54

最后更新:2023年06月03日 - 10:04:52

原始链接:https://blog-next.xiaojingge.com/posts/2046297854.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------