web-dev-qa-db-fra.com

Que font exactement les commandes vagabondes?

Il n’ya étonnamment pas de documentation sur le rôle des commandes Vagrant, mis à part les références tout au long du didacticiel "Pour commencer".

Qu'est-ce que j'ai travaillé jusqu'à présent:

  • box - gérer " boîtes "
  • destroy - fermez le VM puis supprimez son image enregistrée?
  • gem
  • halt - arrête la VM
  • init - prépare un répertoire avec un nouveau fichier Vagrant
  • package - éteignez la VM, puis convertissez-la en un 'package' qui peut être transformé en une boîte? (Ou quelque chose)
  • provision - ne lance que l'étape de provisionnement (par exemple, Chef, Marionnette ...)
  • reload - modifie la configuration VM (par exemple, réappliquez Vagrantfile), redémarrez la VM, reprovisionnez
  • resume - un-suspendre (c'est-à-dire unhibernate)
  • ssh - ouvre une connexion shell SSH à la machine virtuelle
  • ssh-config
  • status
  • suspend - mettre en veille la machine virtuelle
  • up - une partie ou la totalité de: copiez une image VM pour créer une nouvelle machine virtuelle, appliquez-lui la configuration, démarrez-la

Est-ce que j'ai ce droit? Quels sont les autres? Je ne comprends toujours pas la différence exacte entre reload et destroy/up.

96
Steve Bennett

Je ne sais pas quand cela a changé, mais la version actuelle (1.6.3) a une liste appropriée de commandes et tourne sous vagrant list-commands donne une liste encore plus complète:

box             manages boxes: installation, removal, etc.
connect         connect to a remotely shared Vagrant environment
destroy         stops and deletes all traces of the vagrant machine
docker-logs     outputs the logs from the Docker container
docker-run      run a one-off command in the context of a container
global-status   outputs status Vagrant environments for this user
halt            stops the vagrant machine
help            shows the help for a subcommand
init            initializes a new Vagrant environment by creating a Vagrantfile
list-commands   outputs all available Vagrant subcommands, even non-primary ones
login           log in to Vagrant Cloud
package         packages a running vagrant environment into a box
plugin          manages plugins: install, uninstall, update, etc.
provision       provisions the vagrant machine
rdp             connects to machine via RDP
reload          restarts vagrant machine, loads new Vagrantfile configuration
resume          resume a suspended vagrant machine
rsync           syncs rsync synced folders to remote machine
rsync-auto      syncs rsync synced folders automatically when files change
share           share your Vagrant environment with anyone in the world
ssh             connects to machine via SSH
ssh-config      outputs OpenSSH valid configuration to connect to the machine
status          outputs status of the vagrant machine
suspend         suspends the machine
up              starts and provisions the vagrant environment
version         prints current and latest Vagrant version

Les seules commandes qui restent dans la liste complète lors de l'exécution de vagrant sont les commandes docker et rsync. Sur mon système, en tout cas.

Cela semble être la réponse définitive, maintenant.

34
Steve Bennett

Je suis d'accord avec vous que la documentation à vagrantup est du côté le plus court.

Certaines informations peuvent être extraites du système d’aide aux commandes.

  1. Par exemple: gem commande.

    Il suffit de taper la commande sans arguments: vagrant gem -h et il produit les informations dont vous pourriez avoir besoin.

    vagrant gem est utilisé pour installer les plugins Vagrant via le système RubyGems. En réalité, vagrant gem est juste une interface vers l’interface gem actuelle, à la différence que Vagrant configure un répertoire personnalisé dans lequel les gemmes sont installées de manière à être isolées des gemmes de votre système.

  2. Vagrant ssh-config:

    Sous le capot, lorsque vous exécutez vagrant ssh pour ssh dans la VM. Il utilise sa clé SSH bien connue. Les informations sur cette clé sont fournies par vagrant ssh-config. Ceci est utile si vous souhaitez modifier la clé bien connue en votre propre clé privée et préparer les boîtes à l’utiliser.

    De même, vous voudrez peut-être parfois utiliser l’automatisation basée sur ssh avec vos ordinateurs virtuels. Dans ce cas, il est utile de savoir quelle clé est utilisée. Vous pouvez utiliser la commande ssh normale - ssh -i keyfile ..

  3. vagrant status <vmname>

    Cette commande est un wrapper qui fournit des informations sur le statut de vm. Il pourrait être en cours d'exécution, enregistré et mis hors tension.

  4. vagrant reload

    Si vous apportez des modifications à la configuration dans vagrantfile, elles doivent prendre effet. Vous souhaiterez peut-être recharger la machine virtuelle. Il relance le provisioning défini dans le fichier vagrant à moins que vous ne le lui demandiez pas trop.

    Cela ne détruit pas la VM que vous avez créée à partir d'une boîte de base. Cela signifie que tous les changements que vous avez apportés à votre VM, par exemple, un dossier créé dans votre répertoire utilisateur sera là après le rechargement.

    C'est comme si vous redémarriez votre ordinateur lorsque vous éteignez votre VM), puis appliquez certains changements de configuration qui ne peuvent être appliqués que lorsque VM a été mis hors tension. Exemple: similaire à la connexion d’un autre disque virtuel SATA.

  5. vagrant up

    Ceci lit votre fichier de configuration - vagrantfile puis crée un VM à partir de la boîte de base. Base Box est semblable à un modèle. Vous pouvez créer de nombreux ordinateurs virtuels à partir de celui-ci.

    De même, vagrant destroy détruit votre machine virtuelle. Dans ce cas, tous les changements que vous avez apportés à l’intérieur seront perdus. Mais c’est l’idée géniale que vous puissiez partir d’un état prédéfini lorsque vous créez une nouvelle machine virtuelle.

J'aime vraiment l'utiliser et j'ai blogué à ce sujet .

En résumé, c'est un bon wrapper sur les API et les commandes de VirtualBox . Vous pouvez consulter les commandes VirtualBox pour mieux comprendre certaines des fonctionnalités.

47
pyfunc

Il est vraiment dommage que, même si la documentation actuelle de la v1.1 paraisse meilleure, elle soit beaucoup moins complète que la v1. Le credo 'less is more' ne fonctionne tout simplement pas dans le domaine de la documentation ...

J'ai découvert qu'en ce qui concerne Vagrantfiles, l'aperçu le plus complet se trouve dans les commentaires d'un fichier Vagrantfile fraîchement créé, après l'initialisation d'un projet vagrant. Il mentionne des paramètres qui ne figurent pas actuellement dans la documentation.

8
David Spreekmeester