it-swarm.dev

Bagaimana cara mengekspor mesin virtual Vagrant untuk mentransfernya

Saya memiliki kotak gelandangan dan berjalan (dikonfigurasi dengan tumpukan LAMP). Saya perlu mentransfernya ke PC lain. Bagaimana saya bisa mengekspornya? Saya kira saya bisa mendapatkan file (atau file) yang dapat disalin ke PC lain, jadi di sana saya dapat menjalankan beberapa perintah untuk mengimpor kotak gelandangan.

98
Eugene

Anda memiliki dua cara untuk melakukan ini, saya akan menyebutnya cara kotor dan cara bersih :

1. Cara kotor

Buat kotak dari lingkungan virtual Anda saat ini, menggunakan perintah vagrant package:

http://docs.vagrantup.com/v2/cli/package.html

Kemudian salin kotak ke pc lain, tambahkan menggunakan vagrant box add dan jalankan dengan menggunakan vagrant up seperti biasa.

Ingatlah bahwa file di direktori kerja Anda (yang dengan namaVagrantfile) dibagikan ketika mesin virtual melakukan boot, jadi Anda perlu menyalinnya ke komputer lain juga.

2. Cara clean

Secara teoritis seharusnya tidak perlu melakukan ekspor/impor dengan Vagrant. Jika Anda memiliki pandangan ke depan untuk menggunakan penyediaan untuk mengkonfigurasi lingkungan virtual (koki, boneka, mungkin), dan sistem kontrol versi seperti git untuk direktori kerja Anda, menyalin suatu lingkungan pada saat ini akan sangat sederhana seperti menjalankan:

git clone <your_repo>
vagrant up
111
Emyl

Hard drive saya di Mac saya mengeluarkan bunyi bip di tengah proyek, jadi saya memutuskan untuk menginstal SSD. Saya perlu memindahkan proyek saya dari satu disk ke yang lain. Beberapa hal yang perlu dipertimbangkan:

  • Saya gelandangan w/virtualbox di Mac
  • Saya menggunakan git

Inilah yang bekerja untuk saya:

1.) Copy your ~/.vagrant.d directory to your new machine.
2.) Copy your ~/VirtualBox\ VMs directory to your new machine. 
3.) In VirtualBox add the machines one by one using **Machine** >> **Add**
4.) Run `vagrant box list` to see if vagrant acknowledges your machines. 
5.) `git clone my_project`
6.) `vagrant up`

Saya punya beberapa masalah dengan VB Tambahan tamu.

enter image description here

Saya memperbaikinya dengan solusi ini .

26
Ken Prince

Ini sebenarnya cukup sederhana

  1. Instal kotak virtual dan gelandangan pada mesin jarak jauh
  2. Bungkus mesin gelandangan Anda

    vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box

  3. salin kotak ke remote Anda

  4. init kotak pada mesin remote Anda dengan menjalankan

    vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box

  5. Jalankan vagrant up

16
Stefan Diabo

Cara termudah adalah mengemas kotak Vagrant dan kemudian menyalin (mis. scp atau rsync) ke PC lain, tambahkan dan vagrant up ;-)

Untuk langkah-langkah terperinci, lihat ini =>Apakah ada cara untuk mengkloning kotak gelandangan yang sudah diinstal

6
Terry Wang

Tidak ada jawaban di atas yang berfungsi untuk saya. Saya telah 2 hari mencari cara untuk memigrasi Mesin Vagrant + VirtualBox dari komputer ke komputer lain ... Itu mungkin!

Pertama, Anda perlu memahami bahwa mesin virtual dipisahkan dari folder sinkronisasi/bersama Anda. Jadi, ketika Anda mengemas mesin Anda, Anda mengemasnya tanpa file Anda, tetapi dengan database.

Apa yang kamu butuhkan:

1- Buka CMD komputer Anda 1 Mesin host (Baris perintah. Buka sebagai Adminitrator dengan tombol kanan -> "Jalankan sebagai administrator") dan pergi ke file yang diinstal gelandangan Anda. Dalam kasus saya: C:/VVV Anda akan melihat Vagrantfile Anda dan juga folder-folder ini:

/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...

/ Www/folder adalah tempat saya memiliki Folder Sinkronisasi dengan domain pengembangan saya. Anda mungkin memiliki folder sinkronisasi di tempat lain, pastikan untuk memahami apa yang Anda lakukan. Juga/config dan/database adalah folder sinkronisasi.

2- jalankan perintah ini: vagrant package --vagrantfile Vagrantfile

(Perintah ini melakukan paket mesin virtual Anda menggunakan konfigurasi Vagrantfile Anda.)

Inilah yang dapat Anda baca di dokumentasi Vagrant tentang perintah:

Kesalahpahaman yang umum adalah bahwa opsi --vagrantfile akan mengemas Vagrantfile yang digunakan ketika vagrant init digunakan dengan kotak ini. Ini bukan kasusnya. Sebagai gantinya, Vagrantfile dimuat dan dibaca sebagai bagian dari proses pemuatan Vagrant saat kotak digunakan. Untuk informasi lebih lanjut, baca tentang pesanan pemuatan Vagrantfile.

https://www.vagrantup.com/docs/cli/package.html

Ketika selesai, Anda akan memiliki file package.box.

3- Salin semua file ini (/ config,/database, Vagrantfile, package.box, dll.) Dan tempelkan di Komputer Anda 2 tepat di mana Anda ingin menginstal mesin virtual Anda (pada kasus saya D:/VVV).

Sekarang Anda memiliki salinan semua yang Anda butuhkan di komputer Anda 2 Host.

4- jalankan ini: vagrant box add package.box --name VVV

(--Nama digunakan untuk memberi nama mesin virtual Anda. Dalam kasus saya ini bernama VVV) (Anda dapat menggunakan --force jika Anda sudah memiliki mesin virtual dengan nama ini dan ingin menimpanya. (Gunakan dengan hati-hati!))

Ini akan membongkar mesin virtual gelandangan baru Anda.

5- Saat selesai, jalankan: vagrant up

Mesin akan menginstal dan Anda akan melihatnya di "Oracle kotak mesin mesin virtual". Jika Anda tidak dapat melihat mesin virtual, coba jalankan kotak Oracle VM sebagai administrator (klik kanan -> Jalankan sebagai administrator)

Anda sekarang mungkin memiliki segalanya ok tapi ingat untuk melihat apakah host Anda seperti yang Anda harapkan:

c:/windows/system32/hosts

6- Mungkin ide yang baik untuk menyalin file Host Anda dari Komputer Anda 1 ke Komputer Anda 2. Atau salin baris yang Anda butuhkan. Dalam kasus saya ini adalah host yang saya butuhkan:

192.168.50.4 test.dev
192.168.50.4 vvv.dev
...

Di mana 192.168.50.4 adalah IP dari mesin Virtual saya dan test.dev dan vvv.dev sedang mengembangkan host.

Saya harap ini bisa membantu Anda :) Saya akan senang jika Anda memberi umpan balik pada Anda.

Beberapa kekhasan kasus saya yang mungkin Anda temukan:

Ketika saya berlari gelandangan, ada masalah dengan mysql, itu tidak berhasil. Saya harus menjalankan di server Virtual (klik kanan pada mesin virtual Oracle -> Show console): apt-get install mysql-server

Setelah ini, saya berlari lagi gelandangan dan semuanya bekerja tetapi tanpa data pada database. Jadi saya melakukan mysqldump all-tables dari Komputer 1 dan mengunggahnya ke Komputer 2.

CATATAN LAIN: Mesin virtual saya tidak persis di Komputer 1 dan Komputer 2. Sebagai contoh, saya membuat beberapa konfigurasi lalu menggunakan internal untuk menggunakan NFS (untuk mempercepat folder sinkronisasi server) dan saya perlu menjalankan lagi perintah ini pada Computer 2 Host: vagrant plugin install vagrant-winnfsd

2
gtamborero

Sebagaimana dinyatakan dalam

Bagaimana saya bisa mengubah di mana Vagrant mencari hard drive virtualnya?

keadaan mesin virtual disimpan dalam folder VirtualBox yang telah ditentukan. Menyalin mesin yang sesuai (folder) di samping proyek gelandangan Anda ke Host Anda yang lain harus menjaga status mesin virtual Anda.

1
Manuel

Pada tahun 2019 ada sub-perintah: vagrant box repackage

vagrant box repackage --help 
Usage: vagrant box repackage <name> <provider> <version>
    -h, --help                       Print this help

Anda dapat menemukan nameprovider dan version dengan menjalankan vagrant box list

vagrant box list
macinbox (virtualbox, 10.14.5)

Ouput dari vagrant box repackage adalah file bernama package.box yang pada dasarnya adalah file tgz yang isinya dapat dicantumkan di bawah ini:

tar tzf package.box
./metadata.json
./box.ovf
./Vagrantfile
./box-disk001.vmdk
0
Tiago Lopo