vagrant 快速上手(基于Debian9)
2020-12-24 tech linux
vagrant 是一款管理虚拟机的软件,我使用它作为分布式开发的环境配置。
Vagrant是 hashicorp 公司的产品,这家公司也非常有名气,主要做数据中心 PaaS 和虚拟化,大名鼎鼎的 Consul 就是他们家的。
这篇文章介绍我在 Debian 9下的的安装过程和一些常用命令,作个备忘。
1. 环境准备
vagrant默认是与virtubox组合使用,在使用之前,要先将两者都安装好:
2. 概念理解
安装完成后就可以正式开始使用了。在使用前,我们要先理解一些 vagrant 的基本概念。
-
Vagrant命令:提前定义一个Vagrantfile文件,便可以通过这个命令行工具启动一个虚拟机
-
Vagrantfile:是用来定义vagrant project的,使用ruby语法,但实际使用我们并不需要了解ruby。
-
Boxes:就是vagrant封装的虚拟机系统,我们也可以基于这些box做自己的系统。
boxes vagrant拉起虚机的时候会自动下载,如果自动下载速度太慢,也可以手动下载:boxex的下载地址
vagrant up
命令会搜索当前文件夹下的Vagrantfile并启动虚机。在虚拟机中会有一个/vagrant
目录,这跟Vagrantfile
是同一级目录,和宿主机上的目录文件是同步的。
vagrant 还有非常多的概念,这里就不展开了,可以直接看官方文档。
- push
- plugins
- providers
我是从 kuma
这个应用过来的,他们有一个完善的vagrant,可以参考学习:
git clone https://github.com/kumahq/kuma-demo.git
cd kuma-demo/vagrant
vagrant up
3. Vagrantfile常用配置
-
本机与虚拟机同步的目录
config.vm.synced_folder "d:/workspace", "/workspace"
-
端口转发
config.vm.network :forwarded_port, guest: 80, host: 8080
-
私网IP设置
config.vm.network :forwarded_port, guest: 80, host: 8080
-
公网IP设置
config.vm.network :public_network, ip: “192.168.10.10”