导入
安装好virtualbox,vagrant软件之后,
- 将预先打包的 box 镜像导入到 vagrant 中
命令格式 vagrant box add <name> <boxpath>
name:是导入之后的box 名称,
boxpath: box文件所在的绝对路径;
eg: vagrant box add lamp D:/virtual/dd/dd.box
-
进入一个目录,执行
vagrant init <name>
,eg:vagrant init lamp
,使用镜像名为lamp
作为当前vagrant的镜像 -
vagrant up --provider virtualbox
启动,意思是:使用virtualbox
作为虚拟机提供者来启动当前的虚拟机
导出
导出前,需要先确认导出的虚拟机是处于关机状态,如果处于运行状态,在vagrant的工作目录下使用
PS D:workspacevagrantdocker> vagrant halt
==> default: Attempting graceful shutdown of VM...
上面的D:workspacevagrantdocker
是我的vagrant的工作目录
停止虚拟机
打包一个 box
$ vagrant package --base my-virtual-machine [ --output 别名]
--output
可选参数,如果没有设定,默认导出的base box名称是package.box
,如果设定了,将以指定的名称进行导出base box在你的工作目录下
将上面的 "my-virtual-machine" 替换为 virtualbox 中虚拟机的名称 作为导出的基础镜像,这将会花费几分钟,但等到完成之后,一个新的base box,名为package.box
(未指定--output
参数的默认名称)的文件应该在你的工作目录下,直到这时,你已经成功创建一个新的base box
注: 虚拟机名称,可在虚拟机上右键,在弹出菜单选择"设置",在弹出窗口 "常规"下的“基础”下的名称 即是虚拟机的名称
举例:
在 Powershell中执行
PS D:workspacevagrantdocker> vagrant package --base docker_default_1575277517573_85744 --output docker_init.box
==> docker_default_1575277517573_85744: Clearing any previously set forwarded ports...
==> docker_default_1575277517573_85744: Exporting VM...
==> docker_default_1575277517573_85744: Compressing package to: D:/workspace/vagrant/docker/docker_init.box
PS D:workspace> vagrant package --base docker_default_1575277517573_85744
==> docker_default_1575277517573_85744: Clearing any previously set forwarded ports...
==> docker_default_1575277517573_85744: Exporting VM...
==> docker_default_1575277517573_85744: Compressing package to: D:/workspace/package.box