参考:
https://www.cnblogs.com/hafiz/p/9175484.html
https://segmentfault.com/q/1010000004354810/a-1020000004363813
有可视化界面版的:
https://www.jianshu.com/p/fba87fa4f028
1、Vagrant的安装
VirtualBox 是一款开源虚拟机软件。
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。
BBC Vagrant 是基于VirtualBox创建的虚拟机,并通过Vagrant进行打包而得到的VM环境。在虚拟机中部署好开发环境并建立虚拟机和实体机的文件共享,在开发时,可以通过实体机进行文件修改,并经过虚拟机中的环境执行,从而实现不同操作系统的工作环境的轻松部署。
Vagrant能在不考虑宿主机的情况下运行标准的linux系统,在mac和linux下都很简单,但是windows下比较复杂。
vagrant在安装时需要安装virtualbox
windows下,因为virtualbox本身一个bug,所以不能使用4.3.18版本,4.3.12版本可以用。
VirtualBox 4.3.12下载地址(windows)(找到win.exe) https://dlc-cdn.sun.com/virtualbox/4.3.12/index.html
一路yes安装就可以了。
vagrant 的下载地址:https://www.vagrantup.com/downloads.html
安装完后重启电脑,看到有教程说需要硬件加速,但是我还不太会,所以就略过去了。https://www.cnblogs.com/hafiz/p/9175484.html
x2、使用【踩坑版】
x2.1、初始化
我在d盘新建了一个空文件夹,然后初始化 vagrant init [box_name],显示如下
D:\vagrant\init_my_one>vagrant init my_va
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
D:\vagrant\init_my_one>
x2.2、启动虚拟机
在初始化后的文件夹下,启动虚拟机vagrant up,然后就报错了。。。。
D:\vagrant\init_my_one>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'my_va' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'my_va' (v0) for provider: virtualbox
default: Downloading: my_va
default:
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
Couldn't open file D:/vagrant/init_my_one/my_va
然后看了一下是没有box,因为之前没有用过这个东西,不太熟悉,然后读了初始化后的文档之后,发现需要先下个box,文档里也很贴心的给出了链接,然后就找了ubuntu的box
格式:vagrant box add box-name(box-url)
其中box-url的公式:下载链接 = 产品版本链接 + 供应商英文意思 + 要下载的供应商名称(如virtualbox)+’.box’
作者:weiyihigh
链接:http://www.imooc.com/article/72419
来源:慕课网
比如,我要下载的是ubuntu就先找到一个ubuntu的box
vagrant box add --name ubuntu/xenial64 https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20200115.0.0/providers/virtualbox.box
然后就直接开始下载了
其实在直接下载这里,我将之前的初始化vagrant清空了,因为我忘记加box了。
2、真正的使用
新建一个空的文件夹,在这个文件夹的路径下,在终端中输入你要的box,示例如下。url的公式在上面给出了。
box的查找地址:https://app.vagrantup.com/boxes/search
vagrant box add --name ubuntu/xenial64 https://app.vagrantup.com/ubuntu/boxes/xenial64/versions/20200115.0.0/providers/virtualbox.box
之后初始化以及启动
vagrant init ubuntu/xenial64
vagrant up
然后在vagrant up这里遇到了一直retry链接的情况,
Warning: Remote connection disconnect. Retrying...
或Warning: Authentication failure. Retrying...
这个错误,可能是自动登不上虚拟机。
然后找到了这篇文章:
https://www.jianshu.com/p/d9cc60a6ee6b
不过我没找到那个显示。。
所以我就直接打开了vitural box,然后发现我的ubuntu是正在运行的状态,然后就在windows下的cmd又重新输入了vagrant up
然后就可以了,之后登录
vagrant ssh
然后就进入了虚拟机。
3、退出
登出:
exit
查看vagrant状态:
vagrant status
显示正在运行
关闭虚拟机
vagrant halt
再次查询虚拟机状态,显示关闭
p.s.也可以直接打开vitural box,从虚拟机中启动,登录的初始密码和账户都是vagrant