导入

安装好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:\workspace\vagrant\docker> vagrant halt
==> default: Attempting graceful shutdown of VM...

上面的D:\workspace\vagrant\docker 是我的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:\workspace\vagrant\docker> 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

vagrant virtualbox 导入已导出的包和导出笔记的更多相关文章

  1. 【转】VIRTUALBOX导入已有.VDI文件步骤

    原文网址:http://blog.csdn.net/wanghai__/article/details/6703923 1.安装SUN VIRTUALBOX 2.新建,进入到“新建虚拟电话”对话框,下 ...

  2. VirtualBox导入已存在的VHD遇到的uuid冲突问题

    解决方法: 用命令行进入VirtualBox的安装目录,使用下面的命令: (进入命令行窗口,cmd模式) C:\Program Files\Oracle\VirtualBox>VBoxManag ...

  3. Eclipse中jar包的导出与导入

    JAR的含义: JAR是Java的档案文件,是Java Archive File的缩写.jar文件是一种压缩文件,就是以特定类型压缩包的形式存在的完整Java项目.通常通过导入jar包的方式来使用实现 ...

  4. 从Android手机中取出已安装的app包,导出apk

    从Android手机中取出已安装的app包,导出apk TAG:Android,提取,apk,adb,pm,root,导出apk 假设有这样一个场景,A君看到你手机上一个实用APP,想要安装到自己手机 ...

  5. Idea JAVA項目的导入JAR包和导出jar包

    一.IDea项目中导入jar包 打开菜单project structure,然后选择modules/dependencies下选择右侧的+,选择jar包目录中的jar文件,导入 二.导出jar包 菜单 ...

  6. IDEA的基本操作——导入导出jar包

    在使用Jmeter工具测试时,有时也需要导出jar包,测试对应功能,或者自己二次开发Jmeter工具,也是需要导出jar包的.既然经常用,所以就总结了下导入导出jar包的方法. 导入jar包 先打开i ...

  7. SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案

    背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...

  8. Vagrant+VirtualBox虚拟环境

    Vagrant+VirtualBox虚拟环境 VagrantVirtualBox 软件安装 虚拟机基础配置 虚拟机创建 共享目录 配置网络 配置私有网络 配置公有网络 打包box与添加box 打包bo ...

  9. [技术博客] 利用Vagrant+virtualbox在windows下进行linux开发

    目录 加速box安装的方法 root账户登录 换源教程 安装rvm 访问rails server RubyMine连接虚拟机上的解释器 作者:庄廓然 在windows下进行linux开发:利用Vagr ...

随机推荐

  1. 高程(三)--- Date

    Date类型使用UTC(国际协调时间)1970年1月1日0时0分始到现在的毫秒数来保存日期的. 所以当我们知道毫秒数时,还需要通过计算才能获取年月日时分秒. 一.获取时间对象 Date提供了2个方法: ...

  2. Quartz CronTrigger 整配置说明

    Quartz cron 表达式的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级.  Quartz用cron 表达式存放执行计划,引用了cron表达式的CronTrigger在计 ...

  3. eduCF#60 D. Magic Gems /// 矩阵快速幂

    题目大意: 给定n m (1≤N≤1e18, 2≤M≤100) 一个魔法水晶可以分裂成连续的m个普通水晶 求用水晶放慢n个位置的方案modulo 1000000007 (1e9+7) input 4 ...

  4. python--序列化:json、pickle、shelva

    序列化 数据类型--->str 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 反序列化 str--->数据类型 序列化三大方法:json *** ...

  5. Linux 进程间通信 有名管道(fifo)

    有名管道特点: 1)无名管道只能用于具有亲缘关系的进程之间,这就限制了无名管道的使用范围 2)有名管道可以使互不相关的两个进程互相通信. 3)有名管道可以通过路径名来指出,并且在文件系统中可见,但内容 ...

  6. springmvc Cacheable

    直接上代码: <cache:annotation-driven /> <bean id="cacheManager" class="org.spring ...

  7. robotframework+python3+selenium之常用情景---第四集

    1.切换浏览器 2.切换frame/iframe 3.截图保存 3.1导入Screenshot包 3.2 编写自动化测试之截图 4.后续再补充

  8. redis集群报错:(error) MOVED 5798 127.0.0.1:7001

    原因 这种情况一般是因为启动redis-cli时没有设置集群模式所导致. 解决方案 启动时使用-c参数来启动集群模式,命令如下: redis-cli -c -p 7000 测试 127.0.0.1:7 ...

  9. Java——方法的重写(覆盖)

    2.2方法的重写(覆盖)(override,orverwrite) 2.2.1 什么时候方法要进行重写? 如果父类中的方法已经无法满足当前子类的业务需求,需要将父类中的方法进行重新写一遍.就是要改变父 ...

  10. NX二次开发-UFUN获取圆柱的参数UF_MODL_ask_cylinder_parms

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize( ...