是什么 ? | : | an open-source command-line tool that allows you to create, configure, and manage virtual machines ( such asVMWare、VirtualBox、Docker) |
开发语言 | : | Ruby |
官方主页 | : | https://www.vagrantup.com |
源码仓库 | : | https://github.com/hashicorp/vagrant |
Docker只虚拟化了GNU/Linux, 但是Windows、macOS、FreeBSD等仍然需要运行在各种虚拟机中,Vagrant
统一了各种虚拟机的管理,大大方便了开发者。
操作系统 | 包管理器 | 安装命令 |
---|---|---|
Windows | Chocolatey | choco install -y vagrant |
macOS | HomeBrew | brew install vagrant |
GNU/Linux | HomeBrew | brew install vagrant |
apt | sudo apt-get install -y vagrant | |
CentOS | yum | sudo yum install -y vagrant |
dnf | sudo dnf install -y vagrant | |
openSUSE | zypper | sudo zypper install -y vagrant |
Alpine Linux | apk | sudo apk add vagrant |
pacman | sudo pacman -Syyu --noconfirm | |
Gentoo Linux | Portage | sudo emerge vagrant |
Vagrant Cloud是在线查找虚拟机镜像
文件的网站。
虚拟机镜像
文件是一种后缀名为.vbox
的文件。
对于中国用户来说,虚拟机镜像
文件需要我们事先通过工具下载好。因为中国没有对这些虚拟机镜像
文件进行镜像, 所以,让vagrant
命令自己下载的话,速度极奇慢,有时甚至无法下载。
操作系统 | vbox |
---|---|
FreeBSD | FreeBSD 12.2 |
FreeBSD | FreeBSD 11.4 |
NetBSD | NetBSD 9.1 |
NetBSD | NetBSD 8.2 |
OpenBSD | OpenBSD 6.8 |
macOS | macOS 10.14 |
Windows | Windows 10 |
vagrant
命令用于管理虚拟机镜像
和虚拟机
。
虚拟机
是从虚拟机镜像
创建的,可以对其进行创建、销毁、启动、停止等操作。
添加一个box
并给这个box
起一个名字。
执行完这个命令之后,PATH
指向的文件就没用了,可以删除。
示例:
vagrant box add OpenBSD-6.8 ~/Downloads/OpenBSD-6.8-virtualbox.box
列出所有的box
。
示例:
vagrant box list
vagrant box list -i
删除指定BOX_NAME
的box
。
示例:
vagrant box remove OpenBSD-6.8
vagrant box remove -all
创建一个虚拟机
,并在当前目录下生成Vagrantfile
配置文件。
示例:
vagrant init OpenBSD-6.8
vagrant init -f OpenBSD-6.8
启动虚拟机
。
该命令必须在Vagrantfile
配置文件所在的目录中执行。
用ssh
登陆虚拟机
。
以vgrant
用户进行登陆,登陆后可以用sudo -i
命令切换到root
用户下。
挂起虚拟机
。
从挂起状态中恢复虚拟机
。
关闭虚拟机
。
删除虚拟机
。
重启虚拟机
,会重新加载Vagrantfile
。
查看当前虚拟机
的状态。
查看所有虚拟机
的状态。