2012-07-11 16 views
88

Non c'è sorprendentemente alcuna documentazione su cosa facciano i comandi di Vagrant, a parte i riferimenti nel tutorial "introduttivo".Che cosa fanno esattamente i comandi di Vagrant?

Quello che ho lavorato finora:

  • box - gestire "boxes"
  • destroy - Arrestare il VM quindi eliminare la sua immagine memorizzata?
  • gem
  • halt - spegnere il VM
  • init - preparare una directory con una nuova Vagrantfile
  • package - spegnere il VM, quindi convertirlo in un 'pacchetto', che può essere trasformato in una scatola ? (O qualcosa)
  • provision - eseguire solo il provisioning (ad esempio, Cuoco, marionette ...) fase
  • reload - modificare la configurazione VM (ad esempio, riapplicare Vagrantfile), riavviare il VM, reprovision
  • resume - annullare la sospensione (ie, unhibernate)
  • ssh - aprire una connessione shell SSH al VM
  • ssh-config
  • status
  • suspend - ibernare il VM
  • up - alcuni o tutti: copiare un'immagine VM per creare una nuova macchina virtuale, si applicano la configurazione ad esso, il boot

devo questi giusto? Quali sono gli altri? Sono ancora un po 'incerto sulla differenza esatta tra reload e destroy/up.

+0

La documentazione attuale è molto meglio ora - http://vagrantup.com/v1/docs/index.html – JavaRocky

+1

@JavaRocky, non mi sembra così. http://vagrantup.com/v1/docs/commands.html non ha ancora letteralmente informazioni per-subcommand. Mi aspetterei * più * informazioni su ciascun comando in una guida come questa (rispetto a '-h'), non meno. –

+2

@JavaRocky - Se è meglio, non riesco a immaginare come erano prima. Non utile affatto. – DougW

risposta

30

non sono sicuro quando ha cambiato, ma la versione attuale (1.6.3) ha una vera e propria lista di comandi, e l'esecuzione di vagrant list-commands dà un elenco ancora più completo:

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 

Gli unici comandi a sinistra fuori dalla lista completa quando si esegue vagrant di per sé sono la finestra mobile e quelli rsync. Sul mio sistema, comunque.

Questa sembra essere la risposta definitiva, ora.

43

Sono d'accordo con te che la documentazione su vagrantup è sul lato più corto.

Alcune informazioni possono essere ricavate dal sistema di guida ai comandi.

  1. Ad esempio: comando gem.

    Basta digitare il comando senza argomenti: vagrant gem -h e produce le informazioni che potrebbero essere necessarie.

    vagrant gem è utilizzato per installare plugin Vagrant tramite il sistema RubyGems . Infatti, vagrant gem è solo un frontend all'interfaccia effettiva gem , con la differenza che Vagrant imposta una directory personalizzata in cui sono installate gemme in modo che siano isolate dalle gemme del sistema .

  2. Vagrant ssh-config:

    Sotto il cofano, quando si esegue vagrant ssh a ssh in VM.Sta utilizzando la sua famosa chiave SSH. Le informazioni su questa chiave sono fornite da vagrant ssh-config. Ciò è utile nel caso in cui si desideri cambiare la chiave well-know per la propria chiave privata e preparare le caselle per utilizzarla.

    Inoltre, potrebbe essere opportuno utilizzare l'automazione basata su ssh con le macchine virtuali. In tal caso, è utile sapere quale chiave è in uso. Si potrebbe fare il normale comando ssh uso - ssh -i keyfile ..

  3. vagrant status <vmname>

    Questo comando è un wrapper che fornisce le informazioni sullo stato della macchina virtuale. Potrebbe essere in esecuzione, salvato e spento.

  4. vagrant reload

    se si apportano modifiche alla configurazione in vagrantfile che deve entrare in vigore. Si consiglia di ricaricare la VM. Riesegue il provisioning definito nel file vagabondo a meno che non lo chieda anche a te.

    Non distrugge la VM creata da una casella di base. Ciò significa che tutte le modifiche apportate alla VM, come ad esempio creato una cartella nella directory dell'utente, saranno presenti dopo il ricaricamento.

    È come riavviare dove spegne la VM e quindi applica alcune modifiche alla configurazione che possono essere applicate solo quando la VM è stata spenta. e poi accenderlo. Esempio: come collegare un altro disco virtuale SATA.

  5. vagrant up

    Questa legge il file di configurazione - vagrantfile e quindi crea una macchina virtuale da scatola base. Base Box è come un modello. Puoi creare molte VM da esso.

    Analogamente, vagrant destroy distrugge la macchina virtuale. In questo caso tutte le modifiche apportate al suo interno andranno perse. Ma questa è la bella idea che è possibile iniziare da uno stato predefinito di base quando si crea una nuova VM.

Mi piace molto usarlo e avere blogged about it.

In breve, è un buon wrapper su API e comandi VirtualBox. Puoi dare un'occhiata allo VirtualBox commands per capire meglio alcune delle funzionalità.

+1

Quale versione di vagrant ottieni da tutto questo output? Sto usando 1.0.5 e non ottengo nulla del genere. 'vagrant gem -h' fornisce l'output che hai mostrato, ma tutti gli altri non dicono nulla di utile. – DougW

+2

Vagrant 1.2 sembra essere andato indietro. ad esempio, 'vagrant init -h' dà solo questo: Usage: vagrant init [nome-casella] [box-url] -h, --help Stampa questa guida –

8

È davvero un peccato che anche se i documenti attuali per la v1.1 risultino migliori, è molto meno completo di v1. Il credo 'less is more' non funziona nel campo della documentazione ...

Ho scoperto che quando si tratta di Vagrantfiles, la panoramica più completa è nei commenti di un Vagrantfile appena creato, dopo inizializzando un progetto vagabondo. Indica parametri che non sono correntemente nella documentazione.

Problemi correlati