Vagrant与Virtual Box 搭建centos虚拟机

搭建虚拟的方式有很多种,比如直接使用virtual workstation+镜像、virtual Box+镜像等等,本篇我们介绍使用virtual box +vagrant搭建虚拟机,再此之前我们需要准备的是VirtualBox-6.0.12-133076-Win、vagrant_2.2.6_x86_64、centos7。对于VirtualBox-6.0.12-133076-Win、vagrant_2.2.6_x86_64的安装比较简单,只需要傻瓜式安装即可,这里不再讲解,直的注意的是这里需要先安装vagrant,再安装VirtualBox,安装成功之后需要重启本机电脑,否则在启动虚拟机的时候会报一下错误:No usable default provider could be found for your system.如果重启后依然报该错误,可能是vagrant和virtual box 版本不对导致,可以自行百度解决方案。在上面两个软件安装完毕之后,我们可以开始创建我们的虚拟机。

首先我们在本机创建centos文件,然后进入到文件目录 H:\>cd centos7。在该目录下创建Vagrantfile文件,该文件为vagrant虚拟化配置文件,可以通过vagrant命令创建,命令如下:

vagrant init centos/7

上面命令中的centos/7为镜像名称,之后我们需要为centos/7指定一个镜像文件,也就是为centos/7添加一个镜像文件,这里我们使用的是名称为名称是virtualbox.box的文件,我们可以使用命令添加一个镜像,命令如下所示:

vagrant box add centos/7 H:\virtualbox.box

如此简单的几步,我们就已经成功创建了一个虚拟机,但是该虚拟机并没有启动,我们还是可以使用vagrant命令启动和关闭虚拟机,并且可以打开virtual box 观察虚拟机的启动过程。如下为vagrant启动和关闭的命令,我们需要进入到Vagrantfile所在目录,这里也就是centos7目录:

vagrant up     正常启动
vagrant halt   优雅关闭

在使用vagrant up 启动之后,我们可以在控制台看到以下输出,并且在virtual box看到虚拟机已经启动成功,具体如下图所示:

 除了使用vagrant启动和关闭虚拟机,我们还可以使用vagrant命令连接启动的虚拟机、查看虚拟机状态、删除虚拟机等操作,还可以在Vagrantfile中编写脚本命令,如下为Vagrant的常用命令:

vagrant ssh    进入刚才创建的centos7中
vagrant status 查看centos7的状态
vagrant destroy 删除centos7
vagrant status 查看当前vagrant创建的虚拟机
vagrant reload 重新加载 Vagrantfile文件
vagrant ssh-config  查看ssh配置

默认情况下,使用vagrant up启动之后,会自动生成一个ip网段,我们在本机ping该地址时ping不通,因此我们需要配置Vagrantfile为public-network。并且可以配置虚拟机的内存等特性,配置如下:

config.vm.network "public_network"
config.vm.provider "virtualbox" do |vb|
# 使用使用GUI
vb.gui = true
# 自定义VM内存
vb.memory = "1024"
end

然后我们可以通过ip addr命令查看虚拟机的ip,命令与输出如下所示:

H:\centos7>vagrant ssh
Last login: Sat Sep  5 02:57:46 2020 from 10.0.2.2
[vagrant@localhost ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:8a:fe:e6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
       valid_lft 86394sec preferred_lft 86394sec
    inet6 fe80::5054:ff:fe8a:fee6/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:7b:86:f3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.11/24 brd 192.168.88.255 scope global noprefixroute dynamic eth1
       valid_lft 594sec preferred_lft 594sec
    inet6 fe80::a00:27ff:fe7b:86f3/64 scope link
       valid_lft forever preferred_lft forever

然后我们可以通过xshell登录,不过在此之前我们需要为root用户配置用户名和密码,首先我们通过sudo -i 切换到root用户,然后编辑sshd_config文件,命令如下,将PasswordAuthentication的值改为yes,默认为false

vi /etc/ssh/sshd_config

然后通过passwd命令修改root用户的密码,命令如下:

[root@localhost ~]# passwd root
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

在输入两次密码之后我通过systemctl restart sshd命令重启sshd服务,然后就可以通过xshell登录我们的centos虚拟机,到此为止,我们的虚拟机也就安装结束了。我们可以在虚拟机安装Tomcat,jdk,数据库等服务,以后我们在安装服务时,首选是docker的方式安装,因此下一篇我们将介绍docker的安装与部署。

猜你喜欢

转载自blog.csdn.net/wk19920726/article/details/108416863
今日推荐