2012-07-11 22 views
88

Sorprendentemente, no hay documentación sobre lo que hacen los comandos de Vagrant, aparte de las referencias a lo largo del tutorial de "inicio".¿Qué hacen exactamente los comandos de Vagrant?

Lo que he trabajado hasta ahora:

  • box - gestionar "boxes"
  • destroy - apaga la máquina virtual a continuación, elimine la imagen almacenada?
  • gem
  • halt - apagar la máquina virtual
  • init - preparar un directorio con un nuevo Vagrantfile
  • package - apagar la máquina virtual, y luego convertirlo en un 'paquete' que se puede convertir en una caja ? (O algo así)
  • provision - ejecutar únicamente el aprovisionamiento (por ejemplo, Chef, de marionetas ...) etapa
  • reload - modificar la configuración de máquina virtual (por ejemplo, volver a aplicar Vagrantfile), reiniciar la máquina virtual, reprovision
  • resume - un-suspender (es decir, unhibernate)
  • ssh - abrir una conexión shell SSH a la máquina virtual
  • ssh-config
  • status
  • suspend - hibernar el VM
  • up - algunos o todos los siguientes: copiar una imagen de máquina virtual para crear una nueva máquina virtual, se aplica la configuración a la misma, arrancar

¿Tengo este la derecha? ¿Cuáles son los otros? Todavía estoy un poco confuso sobre la diferencia exacta entre reload y destroy/up.

+0

La documentación actual es mucho mejor ahora - http://vagrantup.com/v1/docs/index.html – JavaRocky

+1

@JavaRocky, no me parece a mí. http://vagrantup.com/v1/docs/commands.html todavía no tiene literalmente información por subcomando. Esperaría * más * información sobre cada comando en una guía como esta (en comparación con '-h'), no menos. –

+2

@JavaRocky - Si eso es mejor, no me puedo imaginar cómo eran antes. No es útil en absoluto. – DougW

Respuesta

30

no estoy seguro cuando cambió, pero la versión actual (1.6.3) tiene una lista adecuada de comandos, y corriendo vagrant list-commands da una lista aún más completa:

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 

Los únicos comandos de la izquierda fuera de la lista completa al ejecutar vagrant por sí mismo son los docker y rsync. En mi sistema, de todos modos.

Esa parece ser la respuesta definitiva, ahora.

43

Estoy de acuerdo con usted que la documentación en vagrantup es en el lado más corto.

Se puede obtener cierta información del sistema de ayuda de comando.

  1. comando: gem comando.

    Simplemente escriba el comando sin argumentos: vagrant gem -h y genera la información que pueda necesitar.

    vagrant gem se utiliza para instalar plugins Vagrant a través del sistema RubyGems . De hecho, vagrant gem es solo una interfaz para la interfaz actual gem , con la diferencia de que Vagrant configura un directorio personalizado donde se instalan las gemas para que estén aisladas de las gemas del sistema .

  2. Vagrant ssh-config:

    Bajo el capó, cuando se ejecuta vagrant ssh ssh en VM.Está utilizando su conocida clave ssh. La información en esta clave es proporcionada por vagrant ssh-config. Esto es útil en caso de que desee cambiar la clave bien conocida de su propia clave privada y preparar cuadros para usarla.

    También algunas veces, es posible que desee utilizar la automatización basada en ssh con sus máquinas virtuales. En ese caso, saber qué tecla se está utilizando es útil. Usted podría hacer uso normal de comando ssh - ssh -i keyfile ..

  3. vagrant status <vmname>

    Este comando es una envoltura que proporciona la información sobre el estado de la máquina virtual. Podría estar ejecutándose, guardado y apagado.

  4. vagrant reload

    Si realiza algún cambio en la configuración de vagrantfile que necesita para tener efecto. Es posible que desee volver a cargar la máquina virtual. Reanuda el aprovisionamiento definido en el archivo vagrant a menos que usted no lo solicite también.

    No destruye la VM que ha creado desde un cuadro base. Eso significa que todos los cambios que haya realizado en su máquina virtual, como por ejemplo crear una carpeta en su directorio de usuario estarán allí después de volver a cargar.

    Es como reiniciar donde apaga su máquina virtual y luego aplica cierto cambio de configuración que solo se puede aplicar cuando la VM se ha apagado. y luego encenderlo. Ejemplo: como conectar otro disco virtual SATA.

  5. vagrant up

    Esto lee el archivo de configuración - vagrantfile y luego crea una máquina virtual de la caja de base. Base Box es como una plantilla. Puede crear muchas máquinas virtuales a partir de él.

    De forma similar, vagrant destroy destruye su máquina virtual. En este caso, se perderán todos los cambios que haya realizado en su interior. Pero esa es la buena idea de que puede comenzar desde un estado base predefinido cuando crea una nueva máquina virtual.

Me gusta mucho usarlo y tener blogged about it.

En resumen, es un buen contenedor sobre las API y los comandos de VirtualBox. Puede echarle un vistazo al VirtualBox commands para comprender mejor algunas de las capacidades.

+1

¿De qué versión de vagabundo obtienes todo este resultado? Estoy usando 1.0.5 y no recibo nada por el estilo. 'vagrant gem -h' da el resultado que has mostrado, pero todos los demás no dicen nada útil en absoluto. – DougW

+2

Vagrant 1.2 parece haber ido hacia atrás. por ejemplo, 'vagabundo -h' simplemente da esto: Uso: vagabundo init [nombre-box] [url-caja] -h, --help Imprimir esta ayuda –

8

Realmente es una lástima que a pesar de que los documentos actuales para v1.1 se vean mejor, es mucho menos completo que v1. El credo 'menos es más' simplemente no funciona en el área de documentación ...

He encontrado que cuando se trata de Vagrantfiles, la descripción más completa se encuentra en los comentarios de un Vagrantfile recién creado, después inicializando un proyecto vagabundo. Menciona parámetros que no están actualmente en la documentación.

Cuestiones relacionadas