搭建VirtualBox+Vagrant下的Linux环境-CentOS7

Vagrant+VirtualBox构建CentOS虚拟机

    • Vagrant的原理
    • Vagrant的安装
    • VirtualBox+Vagrant的创建CentOS系统
    • Vagrant的常用指令
    • Vagrant配置端口转发
    • 给VirtualBox+Vagrant虚拟机配置固定ip

关于VirtualBox的介绍与安装可以参考:https://blog.csdn.net/x2570799116/article/details/108203492
VirtualBox网盘下载链接:https://pan.baidu.com/s/1lv3rV33eCu87bNq-stRFzQ
提取码:tota Tip:由于官网下载较慢,于是上传到云盘方便下载
VirtualBox官方镜像仓库:https://app.vagrantup.com/

Vagrant的原理

  • Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境
    Vagrant是用于构建和分发开发环境的工具。

  • 由Vagrant管理的开发环境可以在本地虚拟化平台(例如VirtualBox或VMware)上运行,可以通过AWS或OpenStack在云中运行,也可以在诸如Docker或原始LXC的容器中运行。

  • Vagrant提供了用于创建和管理完整的便携式开发环境的框架和配置格式。这些开发环境可以存在于您的计算机或云中,并且可以在Windows,Mac OS X和Linux之间移植。

Vagrant的安装

  • 可以双击上述下载好的安装包,同意后等待即可,在弹出是否重启的提示框重启后生效
  • 在cmd执行 vagrant 出现下面的提示表示安装成功搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第1张图片

VirtualBox+Vagrant的创建CentOS系统

  1. 选择一个文件夹当作创建VagrantFile和镜像存放的目录:G:\Myself\CentOS

  2. 在G:\Myself\CentOS路径打开命令号窗口,按住Shift+鼠标右键,选择在此处打开命令行窗口

  3. 配置任何Vagrant项目的第一步是创建 Vagrantfile文件,Vagrant提供了完善的指令。Vagrant有一个用于初始化目录的内置命令,该命令vagrant init可以使用框名和URL作为参数。初始化目录并指定centos/7框。在2步骤路径下的命令行窗口执行命令: virtual init centos/7 即可初始化centos/7的镜像Vagrantfile文件。
    Tip:为什么是centos/7呢,因为Vagrant仓库中的镜像名称为centos/7。
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第2张图片
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第3张图片

  4. 执行过第三部的命令后,在打开命令行窗口的路径中,就包含了Vagrantfile文件。打开Vagrantfile,其中包含一些预先填充的注释和示例。在后面的配置虚拟机ip地址,将修改此文件。搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第4张图片

  5. 根据第三步骤,的图片提示可以看出,我们已经初始化好了Vagrantfile文件。这事需要启动好VirtualBox程序。后可以执行vagrant up 创建一个虚拟机环境。在命令行输入vagrant up指令,得到下数提示代表执行完毕,此过程执行较慢会从仓库下载文件。
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第5张图片
    在下载好后,VirtualBox中就会有一个CentOS虚拟机。
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第6张图片
    至此VirtualBox使用Vagrant安装CentOS虚拟机就已经完成了,如果需要其他虚拟机系统,可以去官方镜像仓库进行下载。

Vagrant的常用指令

  1. vagrant init ‘虚拟机名称’ 指令会根据虚拟机名称,到官方镜像仓库进行下载Vagrantfile文件,可以理解为存在Vagrantfile文件的目录是一个虚拟机仓库。可进行后续操作
  2. vagrant up 在执行此命令前打开VirtualBox,执行后可发现在VirtualBox存在了一个已运行的虚拟机。如果命令行执行的目录存在了Vagrantfile文件,则可以不用执行vagrant init命令
  3. vagrant ssh 由于Vagrant在没有UI的情况下运行虚拟机,因此实际上看不到任何东西,为了证明它正在运行。(可以先打开VirtualBox)可以SSH进入机器。这样就可以在虚拟机下执行命令操作。搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第7张图片
  4. vagrant reload 用于命令行重启虚拟机 可以在修改配置文件后执行次指令
  5. vagrant halt 用于命令行关闭虚拟机

Vagrant配置端口转发

例如windows系统中安装了CentOS,在linux系统下又安装了MySQL等软件现在要通过访问Windows的接口访问,linux的MySQL3306端口就可以使用端口转发来实现。
Tip:此种方式对开发比较麻烦,下面会介绍为VirtualBox+Vagrant的linux虚拟机设置外网ip

  1. 使用VirtualBox来进行配置端口转发搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第8张图片
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第9张图片
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第10张图片
    2.配置Vagrantfile配置文件实现端口转发
    Vagrant.configure("2") do |config|
    config.vm.box = "centos/7"
    config.vm.provision :shell, path: "bootstrap.sh"
    config.vm.network :forwarded_port, guest: 80, host: 4567 # 表示本地4567映射虚拟机的80端口
    end
    
    

给VirtualBox+Vagrant虚拟机配置固定ip

  1. 在上述虚拟机启动的前提下,重新开启命令行窗口执行ipconfig查看本地端口搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第11张图片
    上面的192.168.52.1就是网关地址,然后打开Vagrantfile配置文件进行配置虚拟机ip
    搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第12张图片
    2.配置好后,执行vagrant reload 重新启动虚拟机 。正常情况下需要配置private_network后,使用vagrant ssh 连接虚拟机,执行ipaddr即可看到虚拟机配置固定ip

搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第13张图片
上述位置就是你配置好的IP地址,可以通过本地ping通虚拟机ip,代表已经配置成功。

Tip:可能由于网络配置等原因,无法在上述位置查看到ip地址。并且本地无法ping通。需要配置public_network 此配置允许被外部访问ip。
搭建VirtualBox+Vagrant下的Linux环境-CentOS7_第14张图片
配置好后执行vagrant reload 执行vagrant ssh 执行 ip addr 查看eth1:下的inet处的ip即为虚拟机外网ip,可通过本地windows ping通。

你可能感兴趣的:(linux,Vagrant,VirtualBox)