前置条件
1、安装VirtualBox
2、安装Vagrant
3、在VirtualBox中安装操作系统,例如 CentOS

1)把在virtualBox中安装的系统打包成box

1、我们需要知道虚拟机的真实名称,进入virtualBox安装目录,执行:

$ ./VBoxManage.exe list vms
"centos_default_1521543788096_25035" {5c500bf3-759f-487a-b052-22428bc4cbf2}

其中 centos_default_1521543788096_25035 是虚拟机的名字。

2、利用vagrant package命令打包,先查看一下命令介绍:

$ vagrant package --help
Usage: vagrant package [options] [name|id] Options: --base NAME Name of a VM in VirtualBox to package as a base box (VirtualBox Only)
--output NAME Name of the file to output
--include FILE,FILE.. Comma separated additional files to package with the box
--vagrantfile FILE Vagrantfile to package with the box
-h, --help Print this help

--base NAME           指VirtualBox程序里的名称,也就是上步查找的名称。

--output NAME         指要打包的box名称,需要手动添加后缀.box

--include FILE...       打包时包含的文件名,你可以把.box文件理解为一个压缩包
--vagrantfile FILE     打包时包含的Vagrantfile文件,原理和上面类似

3、开始打包之前,关闭要打包的虚拟机,然后执行:

$ vagrant package --base centos_default_1521543788096_25035 --output centos20180                                                                                                                                                 .box
==> centos_default_1521543788096_25035: Clearing any previously set forwarded po rts...
==> centos_default_1521543788096_25035: Exporting VM...
==> centos_default_1521543788096_25035: Compressing package to: D:/vagrant/cento s/centos20180403.box

2)如果只是想打包正在运行的box,再次打包:

#删除虚拟机的一个网络配置文件
rm -f /etc/udev/rule.d/-persistent-net.rules
#关闭虚拟机
shutdown -h now
#打包
vagrant package --output mypackage.box

想要将操作系统打包为可用的Vbox镜像要做以下工作
1、创建vagrant用户和用户目录,密码为vagrant
2、添加vagrant用户的公共密钥,文件为/home/vagrant/.ssh/authorized_keys
3、在真实操作系统中执行vagrant package --base 虚拟机名称,这样会创建指定虚拟机的box
4、将制作好的Box添加到Vagrant环境中,vagrant box add name package.box
5、初始化运行环境,vagrant init name,在初始化环境的时候需要注意的一点是:这个目录下面如果以前初始化过,那么请执行vagrant destroy命令把这个环境销毁掉,并删除Vagrantfile文件,或者在windows环境下直接手动删除.vagrant目录和Vagrantfile文件有相同的效果。否则vagrant init命令无效,当你vagant up的时候得到的是一个和以前完全一样的环境。
6、运行Vagrant虚拟机,vagrant up

利用vagrant打包系统--制作自己的box的更多相关文章

  1. 利用qemu模拟嵌入式系统制作全过程

    http://www.tinylab.org/using-qemu-simulation-inserts-the-type-system-to-produce-the-whole-process/ 利 ...

  2. linux系统中利用vagrant创建虚拟开发环境

    Vagrant简介 作为程序员,可能需要同时开发多个项目,使用多种编程语言,需要使用各种操作系统,如果将很多东西放在同一个电脑上,肯定会被各种配置环境搞晕.一个比较好的办法就是每个项目都有一个干净的开 ...

  3. 利用Vagrant搭建多平台环境

    Vagrant 是一个创建和分发虚拟化开发环境的工具,使用ruby编写,本身并不包含虚拟机管理软件,因此我们需要配合Vagrant安装一个虚拟机软件.Vagrant支持VMware, Virtual ...

  4. 利用Vagrant完成开发环境配置

    作者:astaxie链接:https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.0.md著作权归作者所有.商业转载请联 ...

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

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

  6. C/S模式开发中如何利用WebBrowser控件制作导航窗体

    原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见 ...

  7. [Gradle] 在 Eclipse 下利用 gradle 构建系统

      转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/ 构建系统时候常常要用到 Ant, Maven 等工具,对于初学者 ...

  8. 利用U盘启动制作GHO镜像

    利用U盘启动制作GHO镜像 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. In a realproduction environment. 我们我们可能遇到频繁的安装系统,安装环境 ...

  9. 利用InstallShiled 10.5制作AE应用程序安装包

    [转]利用InstallShiled 10.5制作AE应用程序安装包 作者:3SNEWS 社区ESRI(ArcGIS)版版主:zhaoxiang_whuhttp://www.3snews.net/bb ...

随机推荐

  1. ubuntu server 安装 mantis bug tracker 中文配置

    ubuntu server 安装 mantis bug tracker 中文配置 官网:http://www.mantisbt.org/ 一:安装: 1:进入到 apache2的网站目录: cd /v ...

  2. java.io.IOException: Input/output error

    java.io.FileOutputStream.close0(Native Method)at java.io.FileOutputStream.close(FileOutputStream.jav ...

  3. request.getSession().setAttribute("",..)和request.setAttribute("",...)的差别

    request.getSession.setAttribute()是获得当前会话的session,然后再setAttribute到session里面去,有效范围是session而不是request. ...

  4. 谷歌地图api訪问失败

    在非外网情况下.我们调用谷歌api会出现载入不到地图的现象.此时能够换一下域名试试或许就好了 比方我自己訪问api时时这样写的: https://maps.googleapis.com/maps/ap ...

  5. 【java读书笔记】JSTL,高速精通

    JSTL并非什么新颖的技术并且非常easy,甚至有人觉得JSTL已经过时了.可是我觉得它既然存在,就有存在的道理.作为技术人员就应该知道它们是什么,怎么使用,有什么长处. JSTL包括两部分:标签库和 ...

  6. crontab 格式

  7. FPGA视频拼接器的DP 的4k 功能输入, 把lvds 转为 serdes

    4k(3840 x 2160 @60hz)越来越成为一种视频趋势,怎样把4K 接入到拼接器中.是一个棘手的问题. 先看一下原理图的接口: 这是 anx1122的 lvds的接口. 以下看一下系统的框架 ...

  8. google kaptcha 验证码组件使用简介

    kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kaptcha.servlet.K ...

  9. maven中央仓库

    https://search.maven.org (查看版本和文件列表:http://repo1.maven.org/maven2/) http://mvnrepository.com/ https: ...

  10. java 多态的好处

    /* 对象的多态性. class 动物{} class 猫 extends 动物{} class 狗 extends 动物{} 猫 x = new 猫(); 动物 x = new 猫();//一个对象 ...