跳至主要內容

配置_基础

LincZero大约 2 分钟

配置_基础

配置文件Vagrantfile

Vagrantfile是用于配置和管理虚拟机文件,它使用 ruby语法,用于定义虚拟机的配置选项,例如虚拟机的操作系统、网络设置、共享文件夹等。

通过编辑Vagrantfile,可以创建不同规格、不同用途的虚拟机。

配置 box源

配置:

  • config.vm.box
  • config.vm.box_url

VagrantCloud源

这也是默认 init 方式使用的源

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"
end

镜像加速

如果下载Box比较慢,很不幸,Vagrant Cloud 不像 Docker Hub,没有完整的镜像站。

好在常用的Linux系统都会发布Box文件,可以从linux发行版本的国内的镜像站下载Box文件。(比如Ubuntu的清华源)。

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"
  config.vm.box_url = "https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/jammy/20230929/jammy-server-cloudimg-amd64-vagrant.box"
end

离线使用

如果想离线使用,也可以将Box下载到本地使用。

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"
  config.vm.box_url = "file://tmp/ubuntu-2204.box"
end

配置 环境变量

字符集

ENV["LC_ALL"] = "en_US.UTF-8" # 将字符集设置为utf8

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/jammy64"
end  

配置 Provider和Provision

Vagrantfile 主要用来配置 Provider(虚拟化提供者)Provision(配置管理器)

我们会在下一章节详细地配置这两个东西

Provider (虚拟化提供者)

功能:适配不同的虚拟化平台。在不同平台下创建虚拟机需要使用不同的Provider,不同的Provider功能有些差异,一些配置选项也有所不同。

虚拟化平台:Vagrant支持不同的虚拟化平台,默认使用VirtualBox,同时官方也支持Vmware(需要安装插件)、Hyper-V和Docker。

  • VirtualBox
  • VMWare
  • Hyper-V
  • Docker

相关配置:

  • CPU
  • 内存
  • 硬盘
  • 网络

Provision (配置管理器)

功能:用于在虚拟机创建完成后,使用shell脚本或自动化运维工具配置环境、安装软件等。 不同的配置工具需要使用不同的配置管理器。

  • shell,一般我们使用shell就够了
  • ProgressChef
  • Puppet
  • SALT
  • ANSIBLE