利用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM