首先安装好virtualbox,可以对照官网教程 https://www.if-not-true-then-false.com/2010/install-virtualbox-with-yum-on-fedora-centos-red-hat-rhel/
安装vagrant
yum install -y vagrant
创建vbox目录,用于放置vagrant配置文件,*.box系统包
mkdir vbox
cd vbox
将.box系统包添加到vagrant,生成系统模板,$name为模板名称
vagrant box add $name *.box
创建vagrant 配置文件
vagrant init
或 touch Vagrantfile
修改配置,vagrant配置文件使用ruby语法
vim Vagrantfile
base为模板名称,web为虚拟机名,web.vm.synced_folder 为虚拟机与物理机的共享目录(./web代表物理机Vagrantfile目录下的web目录,/vagrant代表虚拟机上的绝对路径),如不需要可以忽略。如果需要创建多个虚拟机,直接复制web开始的代码,插入到最后一个end前,注意修改虚拟机名称及IP,(网段 .1 的ip不能分配给虚拟机,例如:192.168.66.1)。如果不同虚拟机需要使用不同模板,则需要把定义模板的代码写到虚拟机配置代码里面,注意前面的config要修改成虚拟机名。
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure("2") do |config|
config.vm.box = "base"
config.vm.define :web do |web|
web.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--name", "web", "--memory", "512"]
end
web.vm.hostname = "web"
web.vm.synced_folder "./web", "/vagrant"
web.vm.network :private_network, ip: "192.168.66.10"
end
保存配置文件,开始创建虚拟机,运行此命令一定要注意当前路径!!!该命令不仅用于创建虚拟机,也用于开启已有虚拟机。后面加上虚拟机名则开启对应虚拟机(vagrant对虚拟机的操作都是根据配置文件内容)
vagrant up
关机,后面加上虚拟机名则关闭对应虚拟机
vagrant halt
删除虚拟机,默认删除所有,但是删除每台虚拟机前都会询问(加上 -f,强制删除不询问),所以为了不必要的麻烦,还是加上虚拟机名。
vagrant destroy
登陆虚拟机,$name为虚拟机名,默认创建vagrant用户,密码跟root用户一样都是vagrant
vagrant ssh $name