利用vagrant打包系统--制作自己的box

前置条件
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                                                                                                                                                 403.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/70-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

posted @ 2018-03-17 13:16  立体风  阅读(2296)  评论(0编辑  收藏  举报