导入

安装好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. 通过java api 读取sql 中数据(查询)

    配置文件:dbconfig.properties 里面的数据 jdbc.url.jwhat=jdbc\:mysql\://ip\:3306/laibadev?useUnicode\=true& ...

  2. java线程池和五种常用线程池的策略使用与解析

    java线程池和五种常用线程池策略使用与解析 一.线程池 关于为什么要使用线程池久不赘述了,首先看一下java中作为线程池Executor底层实现类的ThredPoolExecutor的构造函数 pu ...

  3. 1、如何在列表,字典,集合种根据条件筛选数据?2、如何为元组中的每个元素命名,提高程序的可读性3、如何统计出序列中元素出现的频度4、如何根据字典中value的大小,对字典的key进行排序

    一.数据筛选: 处理方式: 1.filter函数在py3,返回的是个生成式. from random import randint data = [randint(-100,100) for i in ...

  4. 集成 Swagger2 构建强大的 RESTful API 文档

    微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 快过年了,不知道你们啥时候放年假,忙不忙.反正我是挺闲的,所以有时间写 blog.今天给你们带来 SpringBoo ...

  5. C语言之内存分配函数

    #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { /********* ...

  6. docker Dcokerfile学习---构建nginx环境

    1.创建项目目录并上传包 $ mkdir docker_nginx $ cd docker_nginx 下载nginx包 $ wget http://nginx.org/download/nginx- ...

  7. zmq利用protobuf通信

    protobuf序列化之后为二进制数据,数据中可能包含 ‘\0’,直接转换为char *类型会导致发送数据不完整.解决方法: void buildProtobufMsg(const string&am ...

  8. js求100以内的素数

    //打印2~100之间的数 ; i< ; i++){ var a = true; ; j < i; j++){ //判断i能否被j整除 ){ //能被整除则说明不是素数,修改布尔值为fal ...

  9. DataTable转对象Model

    我们经常需要从数据库表中取数,取数是以取DataTable的方式,但是我么希望以对象为单位进行这种操作.即存在把取到的DataTable(数据表)转换为ModelList(对象集合)的需求. 原理稍微 ...

  10. Delphi 时间函数:关于时间精确的几个函数和方法

    //取毫秒级时间精度(方法一): var t1,t2:int64; r1:int64; begin t1:=GetTickCount;//获取开始计数 WINDOWS API sleep(1000); ...