当前位置: 首页 > news >正文

VirtualBox和 Vagrant

  • VirtualBox 是一款开源的虚拟化软件,用于在计算机上创建和运行虚拟机,可以模拟多种操作系统。
  • Vagrant 是一个虚拟化环境管理工具,它提供了一个简单的命令行界面来配置和管理虚拟机,主要是与 VirtualBox 一起使用。

下面我会介绍 VirtualBox 和 Vagrant 的安装、配置和基本使用方法。


1. 安装 VirtualBox 和 Vagrant

步骤 1:安装 VirtualBox
  1. 下载 VirtualBox

    • 访问 VirtualBox 官方网站,选择对应操作系统版本(Windows、macOS 或 Linux)的安装包并下载。
  2. 安装 VirtualBox

    • 双击下载的安装文件并按照提示完成安装。安装完成后,你可以通过 VirtualBox 的图形界面来管理虚拟机。
步骤 2:安装 Vagrant
  1. 下载 Vagrant

    • 访问 Vagrant 官方网站,下载适用于你操作系统的安装包。
  2. 安装 Vagrant

    • 与 VirtualBox 类似,运行安装包并按提示安装。
  3. 验证安装

    • 打开终端(Windows 用户可以使用 PowerShell 或命令提示符),运行以下命令以确保 Vagrant 已正确安装:
    vagrant --version
    

2. Vagrant 和 VirtualBox 的基本使用

步骤 1:创建一个 Vagrant 项目
  1. 创建一个新的项目目录:

    mkdir vagrant-test
    cd vagrant-test
    
  2. 初始化一个新的 Vagrant 配置文件:

    vagrant init
    

    这将会在当前目录下创建一个 Vagrantfile,用于定义虚拟机的配置。

步骤 2:编辑 Vagrantfile
  • 打开 Vagrantfile 文件,你会看到一个基本的配置模板,包含了各种配置选项。
  • 修改 Vagrantfile 文件,选择你想要使用的虚拟机镜像(也称为 “box”)。例如,我们可以使用 Ubuntu 20.04 的镜像:
    Vagrant.configure("2") do |config|config.vm.box = "ubuntu/focal64"
    end
    

Vagrant 通过远程镜像仓库(如 Vagrant Cloud)下载这些镜像。

步骤 3:启动虚拟机
  • 启动并创建虚拟机:

    vagrant up
    

    Vagrant 将会自动下载你在 Vagrantfile 中定义的 box,并通过 VirtualBox 创建并启动虚拟机。

  • 检查虚拟机的状态:

    vagrant status
    
步骤 4:连接到虚拟机
  • 使用 SSH 连接到启动的虚拟机:
    vagrant ssh
    

你现在已经进入了虚拟机的命令行,能够与虚拟机交互,就像操作物理机一样。

步骤 5:暂停、重启或销毁虚拟机
  • 暂停虚拟机(保存当前状态,稍后可以恢复):

    vagrant suspend
    
  • 重启虚拟机

    vagrant reload
    
  • 销毁虚拟机(删除虚拟机):

    vagrant destroy
    

3. Vagrant 的高级配置

共享文件夹

你可以将主机与虚拟机之间的文件夹同步,使得两者可以轻松共享数据。编辑 Vagrantfile,添加如下配置:

Vagrant.configure("2") do |config|config.vm.box = "ubuntu/focal64"config.vm.synced_folder "./data", "/vagrant_data"
end
  • ./data 是主机上的文件夹路径,/vagrant_data 是虚拟机中的路径。
  • 当虚拟机启动时,这两个文件夹将自动同步。
网络配置
  1. 端口转发:将主机的某个端口映射到虚拟机中的端口。例如,将主机的 8080 端口映射到虚拟机的 80 端口:

    Vagrant.configure("2") do |config|config.vm.box = "ubuntu/focal64"config.vm.network "forwarded_port", guest: 80, host: 8080
    end
    
  2. 私有网络:虚拟机与主机在同一个私有网络中,可以通过 IP 地址直接访问虚拟机。

    Vagrant.configure("2") do |config|config.vm.box = "ubuntu/focal64"config.vm.network "private_network", ip: "192.168.33.10"
    end
    
  3. 公共网络:虚拟机将使用主机的网络接口,获得与主机相同网络的 IP 地址(可能是 DHCP 分配的)。

    Vagrant.configure("2") do |config|config.vm.box = "ubuntu/focal64"config.vm.network "public_network"
    end
    
多虚拟机配置

你可以在 Vagrantfile 中定义多个虚拟机。如下配置了两个虚拟机:

Vagrant.configure("2") do |config|config.vm.define "web" do |web|web.vm.box = "ubuntu/focal64"web.vm.network "private_network", ip: "192.168.33.10"endconfig.vm.define "db" do |db|db.vm.box = "ubuntu/focal64"db.vm.network "private_network", ip: "192.168.33.11"end
end
  • 启动所有虚拟机:
    vagrant up
    

4. Vagrant 的插件

Vagrant 通过插件扩展功能,你可以安装不同的插件来增强 Vagrant 的功能。例如,安装 Vagrant 的 vbguest 插件来自动更新 VirtualBox 客户端增强功能:

vagrant plugin install vagrant-vbguest

5. 总结

  • VirtualBox 是虚拟化软件,提供了在物理机上创建和运行虚拟机的能力。
  • Vagrant 是一个虚拟机管理工具,主要与 VirtualBox 配合使用,它简化了虚拟机的创建、配置和管理。
  • 通过 Vagrant,你可以快速设置多个虚拟机、共享文件夹、网络配置,甚至可以用代码版本控制虚拟机配置。

http://www.mrgr.cn/news/71328.html

相关文章:

  • Windows 驱动开发中 ExAcquireResourceExclusiveLite 和其他锁的区别:
  • 上海乐鑫科技总代理商ESP32-C5,2.45GHz双频Wi-Fi6,高效连接更安全
  • python语言基础
  • 【网络安全设备系列】3、IPS(入侵防御系统)
  • 多旋翼无人机长航时远距离集群技术详解
  • 为啥需要MD5加密的时候用str(i)而不是“i”
  • 力扣 LeetCode 977. 有序数组的平方(Day1:数组)
  • docker使用过程中安装wsl的问题wsl update failed错误0x800701bc
  • Python练习19
  • 24/11/12 算法笔记<强化学习> 自注意力机制
  • 【vs主程序 链接 实时生成库的问题】
  • HTTP状态码详解
  • 接口自动化测试实战(全网唯一)
  • integer==与equals()结果不同
  • Node.js笔记
  • 卸载 Python
  • 微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践
  • 内网穿透,打通远程和本地调试部署测试
  • 软件测试项目实战
  • 使用docker安装mysql8
  • 炼石亮相密码丰会,探索从密码合规到数据安全实战防护
  • qt QSerialPortInfo详解
  • 机器视觉和计算机视觉的区别
  • 阿兰图灵的人工智能艺术作品以 100 万美元的价格售出
  • 创意加速器3个AI工具,让创作速度超光速!
  • 【数字静态时序分析】复杂时钟树的时序约束SDC写法