vagrant virtualbox 导入已导出的包和导出笔记

导入

安装好virtualbox,vagrant软件之后,

  1. 将预先打包的 box 镜像导入到 vagrant 中

命令格式 vagrant box add <name> <boxpath>

name:是导入之后的box 名称,

boxpath: box文件所在的绝对路径;

eg: vagrant box add lamp D:/virtual/dd/dd.box

  1. 进入一个目录,执行 vagrant init <name>,eg:vagrant init lamp,使用镜像名为lamp 作为当前vagrant的镜像

  2. 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

参考

  1. Creating a Base Box
原文地址:https://www.cnblogs.com/fsong/p/11259080.html