Vagrant (3) —— 復制/備份Vagrant Box


Vagrant (3) —— 復制/備份Vagrant Box

摘要

介紹復制/備份Vagrant Box基本方法

版本

Vagrant版本: 1.8.1


內容

復制vagrant box並壓縮

關閉正在運行的Vagrant

vagrant halt

在相同路徑下,創建一個 package.box 文件

vagrant package

這樣就完成了。

如果要指定vm或者輸出名稱等內容請查看

vagrant package -h

⇒  vagrant package -h
Usage: vagrant package [options] [name]

Options:

    --base NAME                  Name of a VM in virtualbox to package as a base box
    --output NAME                Name of the file to output
    --include FILE...            Additional files to package with the box
    --vagrantfile FILE           Vagrantfile to package with the box
	-h, --help                       Print this help	

package.box 這個文件是當前vagrant vm的全鏡像,且經過壓縮。

創建一個新的vm(快速方法)

為新的vagrant創建一個目錄,然后初始化一個新的Vagrantfile

vagrant init

打開文件Vagrantfile,編輯文件,將當前默認的box名字改為新的box名稱,比如“my-backup-test-box”

config.vm.box = "my-backup-test-box"

啟用注釋掉的關於box位置的配置

# config.vm.box_url = "http://domain.com/path/to/above.box"

以上的路徑為box的文件路徑,windows用戶需要配置成

config.vm.box_url = "file:///d:/folder/package.box"

將默認的IP配置修改,推薦用本機的ip地址,最后+1

config.vm.network :private_network, ip: "192.168.33.101"

重新運行Vagrant

vagrant up

創建新的vm(完整方法)

如果希望將box加入到vagrant box列表中,通過名稱而非文件路徑來使用,可以這樣:

vagrant package

將box加入到Virtualbox(選擇名字name-of-this-box)

vagrant box add --name name-of-this-box package.box virtualbox

注意以上命令行參數--name

    ⇒  vagrant box add --name name-of-this-box package.box
    ==> box: Box file was not detected as metadata. Adding it directly...
    ==> box: Adding box 'name-of-this-box' (v0) for provider:
    box: Unpacking necessary files from: file:///Users/Richard/Documents/Dev/vagrant/package.box
    ==> box: Successfully added box 'name-of-this-box' (v0) for 'virtualbox'!

現在我們可以通過名稱來創建一個vm

config.vm.box = "name-of-my-box"

此種方法不需要再配置config.vm.box_url

需要注意 synced folder

在打包box並且創建新的vm時,客戶(guest)下的synced folder的內容可能會丟失,所以最好在此之前關閉synced

config.vm.synced_folder ".", "/vagrant", disabled: true	

沒有親測


參考

How to copy Vagrant boxes (or duplicate them)


免責聲明!

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



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