web-dev-qa-db-fra.com

Copier la boîte de vagabond localement

Une boîte vagabonde tourne sur VirtualBox et je dois en faire une copie (avec toutes ses données de configuration et existantes), afin de pouvoir y apporter des modifications sans affecter l'original.

Le problème est que ma boîte d'origine est un paquet de fichiers - la connexion Internet avec laquelle je travaille est extrêmement lente, de sorte que quelqu'un d'autre a copié ses dossiers vagabonds et de boîtes virtuelles sur ma machine. Donc il n'y a pas

config.vm.box_url

utiliser.

Comment puis-je accomplir cela?

Edit: J'utilise Vagrant 1.2.2

26
xiankai

Créez une nouvelle boîte à partir de votre vm existant:

  • cd dans le répertoire avec votre fichier Vagrant

  • run vagrant package Ceci exportera un fichier box appelé package.box par défaut

  • lancez vagrant box add foo package.box pour ajouter package.box à vos boîtes existantes. (En supposant que vous utilisez VirtualBox et non VMWare)

  • lancez vagrant box list pour vérifier qu'il a bien été ajouté.

Maintenant, vous pouvez simplement créer un nouveau dossier, exécuter vagrant init comme d'habitude et configurer votre boîte comme suit:

 config.vm.box = "foo"

Le nouveau VM se transformera en données exactes présentes dans le précédent VM.

Documentation vagabonde


De plus, un nouveau produit des créateurs de Vagrant appelé Packer . Il fera la même chose, mais vous permettra de copier vos vm vers d'autres fournisseurs (Amazon, VirtualBox ect ..)

Mettre à jour

Les versions les plus récentes de Vagrant ont deux commandes qui rendent les étapes ci-dessus inutiles.

vagrant share
vagrant package

Vagrant share chargera votre boîte sur atlas
Vagrant package créera automatiquement un fichier .box.

Pour plus d'informations, saisissez vagrant --help

40
spuder