驚くべきことに、Vagrantコマンドの動作に関するドキュメントは、「はじめに」チュートリアル全体のリファレンス以外にはありません。
私がこれまでに取り組んだこと:
box
-「 boxes 」を管理しますdestroy
-VMをシャットダウンしてから、保存されたイメージを削除しますか?gem
halt
-VMをシャットダウンしますinit
-新しいVagrantfileでディレクトリを準備しますpackage
-VMをシャットダウンし、ボックスに変換できる「パッケージ」に変換しますか? (か何か)provision
-プロビジョニング(Chef、Puppetなど)ステージのみを実行しますreload
-VM構成の変更(例:Vagrantfileの再適用)、VMの再起動、再プロビジョニングresume
-一時停止を解除します(つまり、休止状態を解除します)ssh
-VMへのSSHシェル接続を開きますssh-config
status
suspend
-VMを休止状態にしますup
-一部またはすべて:VMイメージをコピーして新しいVMを作成し、構成を適用し、ブートしますこれらの権利はありますか?他は何ですか? reload
とdestroy
/up
の正確な違いについてはまだ少しわかりません。
いつ変更されたかはわかりませんが、現在のバージョン(1.6.3)にはコマンドの適切なリストがあり、vagrant list-commands
は、さらに完全なリストを提供します。
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
vagrant
を単独で実行するときに完全なリストから除外されたコマンドは、dockerおよびrsyncのみです。とにかく私のシステムで。
それが今の決定的な答えのようです。
vagrantup のドキュメントが短い方にあることに同意します。
一部の情報は、コマンドヘルプシステムから収集できます。
例:gem
コマンド。
引数なしでコマンドを入力するだけで:vagrant gem -h
必要な情報が生成されます。
vagrant gem
は、RubyGemsシステムを介してVagrantプラグインをインストールするために使用されます。実際、vagrant gem
は実際のgem
インターフェースのフロントエンドにすぎませんが、Vagrantはシステムgemから分離されるようにgemがインストールされるカスタムディレクトリを設定する点が異なります。
Vagrant ssh-config
:
内部でvagrant ssh
を実行してVMにsshします。よく知られているsshキーを利用しています。このキーに関する情報は、vagrant ssh-config
によって提供されます。これは、既知のキーを独自の秘密キーに変更し、それを使用するボックスを準備する場合に役立ちます。
また、VMでsshベースの自動化を使用したい場合もあります。その場合、どのキーが使用されているかを知ることが役立ちます。通常のsshコマンドを使用できます-ssh -i keyfile ..
vagrant status <vmname>
このコマンドは、vmのステータスに関する情報を提供するラッパーです。実行中、保存済み、電源オフの可能性があります。
vagrant reload
有効にする必要があるvagrantfileの構成に変更を加えた場合。 VMをリロードすることもできます。あまり求めない限り、vagrantfileで定義されたプロビジョニングを再実行します。
これは、ベースボックスから作成したVMを破棄しません。つまり、ユーザーディレクトリにフォルダーを作成したなど、VMに行ったすべての変更はリロード後に存在します。
VMの電源をオフにしてから、VMの電源がオフになったときにのみ適用できる特定の構成変更を適用します。 on。例:別のSATA仮想ディスクを接続するように。
vagrant up
これにより、構成ファイル-vagrantfile
が読み取られ、ベースボックスからVMが作成されます。ベースボックスはテンプレートのようなものです。そこから多くのVMを作成できます。
同様に、vagrant destroy
はVMを破壊します。この場合、内部で行ったすべての変更は失われます。しかし、これは、新しいVMを作成するときに、事前定義された基本状態から開始できるという素晴らしいアイデアです。
私はそれを使うのが本当に好きで、 ブログで書いています を持っています。
要約すると、VirtualBox APIとコマンドの優れたラッパーです。 VirtualBoxコマンド を見て、機能の一部をよりよく理解することができます。
V1.1の現在のドキュメントの見栄えは良くても、v1よりも完全ではないのは本当に残念です。 「less is more」という信条は、ドキュメントの分野では機能しません...
Vagrantfilesに関して言えば、最も完全な概要は、vagrantプロジェクトを初期化した後、新たに作成されたVagrantfileのコメントにあることがわかりました。現在ドキュメントにないパラメーターに言及しています。