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 VMinit
- prépare un répertoire avec un nouveau fichier Vagrantpackage
- é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, reprovisionnezresume
- un-suspendre (c'est-à-dire unhibernate)ssh
- ouvre une connexion shell SSH à la machine virtuellessh-config
status
suspend
- mettre en veille la machine virtuelleup
- une partie ou la totalité de: copiez une image VM pour créer une nouvelle machine virtuelle, appliquez-lui la configuration, démarrez-laEst-ce que j'ai ce droit? Quels sont les autres? Je ne comprends toujours pas la différence exacte entre reload
et destroy
/up
.
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.
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.
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’interfacegem
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.
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 ..
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.
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.
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.
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.