CentOS7.6安装Vagrant2.2

725 阅读1分钟

Vagrant是一款基于Ruby的工具,用于自动构建和流程配置虚拟化开发环境。主要用来管理VirtualBox、VMware虚拟化系统,与Chef,Salt,Puppet等环境配置管理软件搭配使用,是搭建分布式开发环境的利器。

一. 安装Vagrant

前言:

1.1 下载

Vagrant最新版本

wget https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.rpm

1.2 安装

yum localinstall vagrant_2.2.5_x86_64.rpm

1.3 校验

vagrant --version

二. 使用Vagrant

前言

  • 确认已安装VirtualBox
  • 将当前用户添加到vboxusers用户组 sudo usermod -G vboxusers $(whoami)

官方镜像仓库: vagrantcloud.com 其他镜像仓库: www.vagrantbox.es

2.1 下载系统镜像

wget https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box

2.2 添加系统镜像

# vagrant box add ${title} ${path}
vagrant box add centos-7.2 vagrant-centos-7.2.box

2.3 初始化系统镜像

执行init命令后自动生成Vagrantfile文件,可以配置虚拟机的属性

# vagrant init {title}
vagrant init centos-7.2

2.4 配置Vagrantfile文件

Vagrant.configure("2") do |config|
  config.vm.box = "centos-7.2"
  config.vm.network "public_network", ip: "192.168.2.110"
end

默认远程账号密码 vagrant/vagrant 如果需要root权限,使用sudo命令即可

2.5 启动系统镜像

vagrant up

启动成功后会在当前目录生成一个 .vagrant 的隐藏文件夹

2.6 进入虚拟机

vagrant ssh

若要退出虚拟机,请按Ctrl + D或输入exit。

2.7 常用命令

## 系统镜像管理
$ vagrant box add       #添加系统镜像
$ vagrant box list      #查看已添加的系统镜像
$ vagrant box remove    #删除某个已安装的系统镜像


## Vagrant基本命令
$ vagrant init          #初始化虚拟机,实质应是创建Vagrantfile文件
$ vagrant up            #启动虚拟机
$ vagrant halt          #关闭虚拟机
$ vagrant reload        #重启虚拟机
$ vagrant ssh           #SSH至虚拟机
$ vagrant status        #查看虚拟机运行状态
$ vagrant destroy [-f]  #销毁(删除)当前虚拟机相关的全部文件、快照等等,但不会删除Vagrantfile
$ vagrant suspend       #挂起当前虚拟机  ——虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用
$ vagrant resume        #恢复当前虚拟机  ——与前面的挂起相对应
$ vagrant package       #打包当前运行的虚拟机环境为box文件以用于分发

2.8 打包虚拟机

vagrant package --base=centos-7.2 --output=custom-centos-7.2.box

box文件实际上是一个 OVF 包。

开源虚拟化格式OVF文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式,它一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。

如果网络模式中使用 private_network 的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:

rm -f /etc/udev/rule.d/70-persistent-net.rules

这条bash指令应该在虚机中被执行,对于不同的操作系统来说,文件的位置可能是有变化的。

unknown filesystem type 'vboxsf' 解决方案

vagrant plugin install vagrant-vbguest
vagrant destroy && vagrant up

参考: www.vultr.com/docs/how-to…

定制box: github.com/jayknoxqu/p…