Salin kotak gelandangan secara lokal

27

Saya memiliki kotak gelandangan yang berjalan di VirtualBox, dan saya perlu membuat salinan (dengan semua konfigurasi dan data yang ada), sehingga saya dapat membuat perubahan tanpa mempengaruhi aslinya.

Masalahnya adalah bahwa kotak asli saya datang sebagai paket file - koneksi internet tempat saya bekerja sangat lambat sehingga orang lain menyalin folder gelandangan dan virtualbox mereka ke mesin saya. Jadi tidak ada

config.vm.box_url

menggunakan.

Bagaimana saya bisa mencapai ini?

Sunting: Saya menggunakan Vagrant 1.2.2

xiankai
sumber

Jawaban:

41

Buat kotak baru dari vm yang ada:

  • masuk ke direktori dengan file Vagrant Anda

  • Jalankan vagrant packageIni akan mengekspor file kotak yang disebut package.box secara default

  • jalankan vagrant box add foo package.boxuntuk menambahkan package.box ke kotak Anda yang ada. (Dengan asumsi Anda menggunakan VirtualBox dan bukan VMWare)

  • jalankan vagrant box listuntuk memverifikasi telah ditambahkan.

Sekarang Anda bisa membuat folder baru, jalankan vagrant initseperti biasa dan atur kotak Anda sebagai berikut:

 config.vm.box = "foo"

VM baru akan berputar dengan data tepat yang ada di VM sebelumnya.

Dokumentasi Vagran


Selain itu checkout produk baru dari pencipta Vagrant yang disebut Packer . Ini akan melakukan hal yang sama, tetapi memungkinkan Anda untuk menyalin vm ke penyedia lain (Amazon, VirtualBox dll ..)

Memperbarui

Versi Vagrant yang lebih baru memiliki dua perintah yang membuat langkah-langkah di atas tidak perlu.

vagrant share
vagrant package

Vagrant shareakan mengunggah kotak Anda ke atlas
Vagrant package akan membuat file .box secara otomatis.

Untuk informasi lebih lanjut, ketikkan vagrant --help

spuder
sumber
Sepertinya cara yang hebat, tapi sayangnya saya menggunakan versi gelandangan yang berbeda, sementara perintah Anda tampaknya untuk 1.0.x
xiankai
@xiankai saya menjalankan 1.2.2 dan saya telah memverifikasi bahwa langkah-langkah ini bekerja untuk saya Saya melakukan beberapa penyesuaian pada jawaban saya untuk kejelasan, coba lagi dan beri tahu saya kesalahan apa yang Anda dapatkan.
Spuder
Ah, setelah melihat tautan yang Anda poskan, saya mencoba vagrant packagealih-alih vagrant box packagedan sepertinya saya berada di jalur yang benar sekarang!
xiankai
paket gelandangan sudah benar. Itu salah ketik di pihak saya.
Spuder