96 votes

Qu'est-ce exactement faire le Vagabond des commandes?

Il y a étonnamment pas de documentation sur ce que l'Errance des commandes n', autres que referencse tout au long de la "prise en main" tutoriel.

Ce que j'ai travaillé jusqu'à présent:

  • box - gérer les "boîtes"
  • destroy - de l'arrêt de la VM puis supprimer son image stockée?
  • gem
  • halt - de l'arrêt de la VM
  • init - la préparation d'un répertoire avec un nouveau Vagrantfile
  • package - de l'arrêt de la VM, puis de le convertir en un "package" qui peut être transformé en une boîte? (Ou quelque chose)
  • provision - run juste la mise en service (par exemple, Chef de cuisine, Marionnettes...) stade
  • reload - de modifier la configuration de la machine virtuelle (par exemple, réappliquer Vagrantfile), le reboot de la VM, en remettant
  • resume - un-suspension (c'est à dire, unhibernate)
  • ssh - ouvrir un shell SSH connexion à la machine virtuelle
  • ssh-config
  • status
  • suspend - hibernate la VM
  • up - : copie d'une image de machine virtuelle pour créer une nouvelle machine virtuelle, appliquer la configuration, de l'amorçage

Puis-je avoir ces droits? Quels sont les autres? Je suis encore un peu dans le flou sur la différence exacte entre reload et destroy/up.

47voto

pyfunc Points 31088

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

Certaines informations peuvent être recueillies à partir de la commande du système d'aide.

1) Par exemple: gem commande.

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

`vagrant gem` is used to install Vagrant plugins via the RubyGems
system. In fact, `vagrant gem` is just a frontend to the actual `gem`
interface, with the difference being that Vagrant sets up a custom
directory where gems are installed so that they are isolated from your
system gems.

2) Vagrant ssh-config:

Under the hood, when you execute `vagrant ssh` to ssh into VM. 
It is utilizing it's well known ssh key. The information on this key is provided by 
`vagrant ssh-config`. This is useful in case you want to change the well know key to 
your own private key and prepare boxes to use that. 

Also some times, you may want to use ssh based automation with your VMs. 
In that case, knowing which key is being used is useful. 
You could do use normal ssh command - `ssh -i keyfile ..`

3) vagrant status <vmname>

This command is a wrapper which provides the information on the status of vm. 
It could be running, saved and powered off.

4) vagrant reload

If you make any changes to the configuration in vagrantfile which needs to take effect. 
You may want to reload the VM. It re-runs the provisioning defined in the vagrantfile 
unless you ask it not too.

It does not destroy the VM you have created from a base box. 
That means all the changes you have made to your VM, like say created a folder in 
your user directory will be there after reload. 

It is like reboot where it powers off your VM
and then applies certain configuration change which can be applied only 
when VM has been powered off. and then power it on.
Example: like attaching another SATA Virtual Disk. 

5) vagrant up

This reads your configuration file - `vagrantfile` and then creates a VM from base box.
Base Box is like a Template. You can create many VMs from it. 

Similarly, `vagrant destroy` destroys your VM. In this case all changes you made 
when inside it will be lost. But thats the cool idea that you can start from a base 
predefined state when you create a new VM.

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

En résumé, c'est une bonne wrapper sur VirtualBox Api et des Commandes. Vous pouvez avoir un coup d'oeil à la VirtualBox commandes pour comprendre les capacités de mieux.

34voto

Steve Bennett Points 4273

Je ne suis pas sûr quand il a changé, mais la version actuelle (1.6.3) a une bonne liste de commandes, et en cours d'exécution vagrant list-commands donne encore plus de cette liste:

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 commandes à gauche de la liste complète lors de l'exécution d' vagrant par elle-même sont le docker et rsync. Sur mon système, de toute façon.

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

8voto

C'est vraiment dommage que même si la documentation pour v1.1 regarde mieux, c'est beaucoup moins complète que v1. Le credo "moins est plus" juste ne fonctionne pas dans le domaine de la documentation...

J'ai constaté que quand il s'agit de Vagrantfiles, la plupart aperçu complet est dans les commentaires d'un fraîchement créé Vagrantfile, après l'initialisation d'un vagabond projet. Il mentionne des paramètres qui ne sont pas actuellement dans la documentation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X