Saya memiliki kotak gelandangan yang aktif dan berjalan (dikonfigurasi dengan tumpukan LAMP). Saya perlu mentransfernya ke PC lain. Bagaimana cara 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.
virtual-machine
virtualbox
vagrant
Eugene
sumber
sumber
Jawaban:
Anda memiliki dua cara untuk melakukan ini, saya akan menyebutnya cara kotor dan cara bersih :
1. kotor cara
Buat kotak dari lingkungan virtual Anda saat ini, menggunakan
vagrant package
perintah:http://docs.vagrantup.com/v2/cli/package.html
Kemudian salin kotak tersebut ke pc lain, tambahkan menggunakan
vagrant box add
dan jalankan menggunakanvagrant up
seperti biasa.Perlu diingat bahwa file di direktori kerja Anda (yang memiliki
Vagrantfile
) dibagikan saat mesin virtual melakukan boot, jadi Anda juga perlu menyalinnya ke komputer lain.2. bersih cara
Secara teoritis tidak perlu melakukan ekspor / impor dengan Vagrant. Jika Anda memiliki pandangan jauh ke depan untuk menggunakan provisioning untuk mengonfigurasi lingkungan virtual (chef, puppet, ansible), dan sistem kontrol versi seperti git untuk direktori kerja Anda, menyalin lingkungan pada tahap ini semudah menjalankan:
sumber
Hard drive di Mac saya mengeluarkan bunyi bip di tengah proyek, jadi saya memutuskan untuk memasang SSD. Saya perlu memindahkan proyek saya dari satu disk ke disk lainnya. Beberapa hal yang perlu dipertimbangkan:
Inilah yang berhasil untuk saya:
Saya punya beberapa masalah dengan penambahan VB Guest.
Saya memperbaikinya dengan solusi ini .
sumber
vagrant box list
: 0bin.net/paste/iCiaqNhU-i3bbfY2#-KDiXYcRFni1RNgNJhOBrIs/…Ini sebenarnya sangat sederhana
Bungkus mesin gelandangan Anda
vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box
salin kotak ke remote Anda
init kotak di mesin jarak jauh Anda dengan menjalankan
vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box
Lari
vagrant up
sumber
VBoxManage list vms
. Setelah Anda bisa menyalin dan melakukan apa yang diperintahkan di @Phil langkah ke-2 dan ke-4. :) Yey.scotch/box (virtualbox, 3.0)
). Perintah saya - mesin virtual dengan pengenal, misalnya:"Win10 - SandBox" {bc251c06-501f-4c0f-bgfa-21f2815ba2cd}
Cara termudah adalah dengan mengemas kotak Vagrant dan kemudian menyalin (misalnya
scp
ataursync
) ke PC lain, menambahkannya danvagrant up
;-)Untuk langkah-langkah terperinci, periksa ini
=>
Apakah ada cara untuk mengkloning kotak gelandangan yang sudah terpasangsumber
Tak satu pun dari jawaban di atas berhasil 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 buka file yang diinstal gelandangan Anda. Pada kasus saya: C: / VVV Anda akan melihat Vagrantfile Anda dan juga folder-folder ini:
Folder / www / adalah tempat saya menyimpan Folder Sinkronisasi dengan domain pengembangan saya. Anda mungkin memiliki folder sinkronisasi Anda 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:
https://www.vagrantup.com/docs/cli/package.html
Setelah selesai, Anda akan memiliki file package.box.
3- Salin semua file ini (/ config, / database, Vagrantfile, package.box, dll.) Dan tempelkan di Komputer 2 Anda tepat di mana Anda ingin menginstal mesin virtual Anda (pada kasus saya D: / VVV).
Sekarang Anda memiliki salinan semua yang Anda butuhkan di komputer 2 host Anda.
4- jalankan ini:
vagrant box add package.box --name VVV
(--Name digunakan untuk menamai 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- Setelah selesai, jalankan:
vagrant up
Mesin akan menginstal dan Anda akan melihatnya di "manajer kotak mesin virtual Oracle". Jika Anda tidak dapat melihat mesin virtual, coba jalankan kotak Oracle VM sebagai administrator (klik kanan -> Jalankan sebagai administrator)
Anda sekarang mungkin memiliki semuanya baik-baik saja tetapi ingat untuk melihat apakah host Anda seperti yang Anda harapkan:
6- Mungkin ide yang bagus untuk menyalin file host Anda dari Komputer 1 ke Komputer 2. Atau salin baris yang Anda butuhkan. Dalam kasus saya, ini adalah host yang saya butuhkan:
Di mana 192.168.50.4 adalah IP mesin Virtual saya dan test.dev serta vvv.dev sedang mengembangkan host.
Saya harap ini dapat membantu Anda :) Saya akan senang jika Anda memberikan umpan balik kepada Anda.
Beberapa kekhususan kasus saya yang mungkin Anda temukan:
Ketika saya lari gelandangan, ada masalah dengan mysql, itu tidak berfungsi. Saya harus menjalankan di server Virtual (klik kanan pada mesin virtual oracle -> Tampilkan konsol):
apt-get install mysql-server
Setelah ini, saya lari lagi gelandangan dan semuanya berfungsi tetapi tanpa data di database. Jadi saya melakukan mysqldump all-tables dari Komputer 1 dan mengunggahnya ke Komputer 2.
CATATAN LAINNYA: Mesin virtual saya tidak persis di Komputer 1 dan Komputer 2. Sebagai contoh, beberapa waktu lalu saya membuat konfigurasi internal untuk menggunakan NFS (untuk mempercepat folder sinkronisasi server) dan saya perlu menjalankan lagi perintah ini di Komputer 2 tuan rumah:
vagrant plugin install vagrant-winnfsd
sumber
Seperti yang dinyatakan dalam
Bagaimana cara mengubah tempat Vagrant mencari hard drive virtualnya?
keadaan mesin virtual disimpan dalam folder VirtualBox yang telah ditentukan sebelumnya. Menyalin mesin yang sesuai (folder) selain vagrant-project Anda ke host lain akan mempertahankan status mesin virtual Anda.
sumber
Pada 2019 ada subperintah:
vagrant box repackage
Anda dapat menemukan
name
provider
danversion
dengan menjalankanvagrant box list
Ouput
vagrant box repackage
adalah file bernamapackage.box
yang pada dasarnya adalah file tgz yang isinya dapat dicantumkan seperti di bawah ini:sumber