Copier localement la boîte vagabonde

27

J'ai une boîte vagabonde en cours d'exécution sur VirtualBox, et j'ai besoin de faire une copie (avec toutes ses config et données existantes), afin que je puisse y apporter des modifications sans affecter l'original.

Le problème est que ma boîte d'origine est venue sous forme de package de fichiers - la connexion Internet avec laquelle je travaille est extrêmement lente, donc quelqu'un d'autre a copié leurs dossiers vagabonds et virtualbox sur ma machine. Il n'y a donc pas

config.vm.box_url

utiliser.

Comment puis-je accomplir cela?

Edit: j'utilise Vagrant 1.2.2

xiankai
la source

Réponses:

41

Créez une nouvelle boîte à partir de votre VM existante:

  • cd dans le répertoire avec votre fichier Vagrant

  • exécuter vagrant packageCela exportera un fichier de boîte appelé package.box par défaut

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

  • exécuter vagrant box listpour vérifier qu'il a été ajouté.

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

 config.vm.box = "foo"

La nouvelle VM tournera avec les données exactes qui étaient présentes dans la VM précédente.

Documentation vagabonde


Découvrez également 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 ..)

Mise à jour

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

vagrant share
vagrant package

Vagrant sharetéléchargera votre boîte dans l' atlas
Vagrant package créera automatiquement un fichier .box.

Pour plus d'informations, saisissez vagrant --help

spuder
la source
Cela semble être un excellent moyen, mais malheureusement j'utilise une version différente de vagrant, alors que vos commandes semblent être pour
1.0.x
@xiankai J'utilise 1.2.2 et j'ai vérifié que ces étapes fonctionnent pour moi. J'ai apporté quelques ajustements à ma réponse pour plus de clarté, réessayez et faites-moi savoir quelles erreurs vous obtenez.
spuder
Ah, après avoir regardé le lien que vous avez posté, j'ai essayé vagrant packageau lieu de vagrant box packageet il semble que je suis sur la bonne voie maintenant!
xiankai
le paquet vagabond est correct. C'était une faute de frappe de ma part.
spuder