Vagrant+VirtualBox玩转虚拟机

前言

第一次接触虚拟机是在2015年的时候,那时候了解到虚拟机管理软件有两种:VMware、VirtualBox,由于VMware有些功能并不开源,收费,VirtualBox是开源软件,所以当时公司采用VirtualBox去管理虚拟机,VirtualBox创建虚拟机的步骤都知道,下载系统iso镜像,在VirtualBox上配置内存、硬盘存储,cpu、网络等参数,傻瓜式一路安装下来,你就得到了一台可用的虚拟机,这种经历导致长时间以来我本机安装虚拟机都是这种繁琐的过程,现在想来,以前为了这种虚拟机安装,浪费多少时间和流量。本文将带你到另一个世界,解决以上痛点,利用Vagrant+VirtualBox玩转虚拟机。

Vagrant介绍

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统(已经支持VMware),使用 Chef创建自动化虚拟环境。我们可以使用它来干如下这些事:

  1. 建立和删除虚拟机
  2. 配置虚拟机运行参数
  3. 管理虚拟机运行状态
  4. 自动配置和安装开发环境
  5. 打包和分发虚拟机运行环境

Vagrant的运行,需要依赖某项具体的虚拟化技术,最常见的有VirtualBox以及VMWare两款,早期,Vagrant只支持VirtualBox,后来才加入了VMWare的支持。
为什么我们要选择Vagrant呢?因为它有跨平台、可移动、自动化部署无需人工参与等优点。
在这里插入图片描述
在Vagrant体系中,有个box(箱子)的概念,这优点类似于docker体系中的image(镜像)。基于同一个box,不同的人可以运行得到相同的内容。

Vagrant环境的安装

1. 下载并安装virtualbox

下载地址:https://www.virtualbox.org/wiki/Downloads

安装过程很简单,傻瓜式的一步一步点下去。

2.下载并安装vagrant

下载地址:https://www.vagrantup.com/downloads.html

安装过程依旧没什么难的,跟着提示一步一步next。

3.安装检测

在这里插入图片描述

自动化搭建第一台centos7系统

1. 在E盘建一个文件夹E:\os\first-docker-centos7
2. cmd 进入这个目录
3. 执行命令 vagrant init 初始化一个系统配置
4. 编辑Vagrantfile文件
    需要启动的虚拟机镜像名字:
    config.vm.box = "centos/7"
    配置桥接网络,和宿主机同一网段:
    config.vm.network "public_network"
    硬件参数,一看就懂:
    config.vm.provider "virtualbox" do |vb|
  	vb.memory = "3000"
  	vb.name = "docker-centos7-1"
  	vb.cpus = 1
 	 end
 5.保存

执行结果如下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

5. 下载centos7 box,类似于docker image,如果本地不下载,启动的时候则是从远程仓库下载,会很慢,类似于docker image 本地没有会从远端仓库下载。

下载地址:https://cloud.centos.org/
在这里插入图片描述在这里插入图片描述

6. 下载后放在磁盘无中文的路径下,然后加添加成可用的box
  vagrent box add centos/7 E:\box\CentOS-7-x86_64.VirtualBox.box
7. 查看添加结果
  vagrant box list

在这里插入图片描述

8. 打开 VirtualBox 软件。
9. cmd进入E:\os\first-docker-centos7 ,执行:
	vagrant up  
	即可看到VirtualBox中出现新的系统正在安装。

在这里插入图片描述

此时,centos7已经部署完成,我们可以通过以下命令访问:
  vagrant ssh docker-centos7-1
但是这种访问方式不太友好,我们常用的访问方式通常是通过雷系xshell等工具,利用 IP,root, 22端口访问,我们需要做如下操作:
10. 登陆 : vagrant ssh docker-centos7-1
11. 切换root用户:sudo -i
12. 修改ssh配置: vi /etc/ssh/sshd_config
	PasswordAuthentication yes (配置为yes,默认是no)
13. 配置root密码:passwd  根据提示输入两次密码
14. 重启sshd服务:systemctl restart sshd
15. 外部用 xshell 通过 ip,root,22 密码登陆成功

Vagrant Box常用命令

1. 列出本地环境中所有的box

vagrant box list

2. 添加box到本地vagrant环境

vagrant box add box-name(别名) E:\*.box(全路径)

3. 删除本地环境中指定的box

vagrant box remove box-name

4. 更新本地环境中指定的box

vagrant box update box-name

5. 重新打包本地环境中指定的box

vagrant box repackage box-name

6. 在线查找需要的box

官方网址:https://app.vagrantup.com/boxes/search

Vagrant 常用命令

1.在空文件夹初始化虚拟机

vagrant init [box-name]

2.在初始化完的文件夹内启动虚拟机

vagrant up

3.ssh登录启动的虚拟机

vagrant ssh

4.挂起启动的虚拟机

vagrant suspend

5.重启虚拟机

vagrant reload

6.关闭虚拟机

vagrant halt

7.查找虚拟机的运行状态

vagrant status

8.销毁当前虚拟机

vagrant destroy
原创文章 29 获赞 81 访问量 1万+

猜你喜欢

转载自blog.csdn.net/cuixhao110/article/details/105519946