Mac 中使用 Vagrant 和 Virtual 搭建虚拟机

介绍

使用Vagrant+VirtualBox在本机快速搭建虚拟机开发环境

Vagrant提供易于配置、可复制和可移植的工作环境。Vagrant需要依赖某项具体的虚拟化技术,这里我们选择VirtualBox

安装

VirtualBox

官方下载地址

.dmg 直接装就好了

Vagrant

brew tap hashicorp/tap
brew install vagrant

查看是否安装成功

$ vagrant version
Installed Version: 2.2.18
Latest Version: 2.2.18

使用

配置目录

  1. VirtualBox 虚拟机存放位置: 全局设定-> 常规->默认虚拟电脑位置
  2. Vagrantfile 存放位置: mkdir 创建就好

下载 box

boxes是vagrant环境的包格式,在任何平台上都可以使用同一个box。
box组成:

  1. 特定于单个虚拟化技术提供商的压缩文件,例如virtualbox的导出文件
  2. 元数据
  3. box 信息

box 下载地址

添加box

add后面跟box文件地址
--name 后面是你命名的box名字

$ vagrant box add ~/Downloads/ubuntu18.04.box --name ubuntu-18.04

查看本机安装的box

$ vagrant box list
ubuntu-18.04 (virtualbox, 0)

创建虚拟机

默认生成Vagrantfile

init 命令创建了一个默认的Vagrantfile

mkdir ubuntu-18.04
cd ubuntu-18.04
vagrant init ubuntu-18.04

自己编写Vagrantfile

这里有一个在网上搜索到的模版,可以根据自己的需要修改,或者搜索更复杂的写法,语言是Ruby

Vagrant.configure("2") do |config|
   (1..4).each do |i|

      #定义节点变量
      config.vm.define "node#{i}" do |node|

      # box配置
      node.vm.box = "ubuntu-18.04"

      # 设置虚拟机的主机名
      node.vm.hostname = "node#{i}"

      # 设置虚拟机的IP
      node.vm.network "private_network", ip: "192.168.60.#{10+i}"

      # 设置主机与虚拟机的共享目录
      # node.vm.synced_folder "/Users/meetmax", "/home/vagrant/code"
      # VirtaulBox相关配置
      node.vm.provider "virtualbox" do |v|

          # 设置虚拟机的名称
          v.name = "node#{i}"

          # 设置虚拟机的内存大小
          v.memory = 4096

          # 设置虚拟机的CPU个数
          v.cpus = 2
      end
  end
end
end

启动虚拟机

需要在Vagrantfile所在目录执行

vagrant up

其他命令

  • 连接虚拟机
    vagrant ssh [name|id]
  • 关闭虚拟机 不指定机器就根据当前目录的Vagrantfile关闭所有
    vagrant halt [name|id]
  • 查看虚拟机状态
    vagrant status
  • 重启虚拟机
    vagrant reload
  • 销毁虚拟机
    vagrant destroy
posted @ 2022-04-20 17:29  哪吒young  阅读(243)  评论(0编辑  收藏  举报