96

驚くべきことに、「はじめに」チュートリアル全体のリファレンスを除いて、Vagrantコマンドの機能に関するドキュメントはありません。

私がこれまでに解決したこと:

  • box-「ボックス」を管理する
  • 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を作成し、それに構成を適用して起動します

私はこれらの権利を持っていますか?他は何ですか?reloaddestroy/の正確な違いについてはまだ少しわかりませんup

4

3 に答える 3

49

vagrantupのドキュメントは短めであることに同意します。

一部の情報は、コマンドヘルプシステムから収集できます。

  1. 例:gemコマンド。

    引数なしでコマンドを入力するだけvagrant gem -hで、必要な情報が生成されます。

    vagrant gemRubyGemsシステムを介してVagrantプラグインをインストールするために使用されます。実際、これvagrant gemは実際のインターフェースのフロントエンドにすぎませgem ん。違いは、Vagrantがgemをインストールするカスタムディレクトリを設定して、システムのgemから分離されるようにすることです。

  2. Vagrant ssh-config

    vagrant ssh内部的には、 VMにSSH接続するために実行する場合。よく知られているsshキーを利用しています。このキーに関する情報は、によって提供されvagrant ssh-configます。これは、既知の鍵を独自の秘密鍵に変更し、それを使用するためのボックスを準備する場合に役立ちます。

    また、VMでsshベースの自動化を使用したい場合もあります。その場合、どのキーが使用されているかを知ることは役に立ちます。通常のsshコマンドを使用できます-ssh -i keyfile ..

  3. vagrant status <vmname>

    このコマンドは、vmのステータスに関する情報を提供するラッパーです。実行中、保存済み、電源オフの可能性があります。

  4. vagrant reload

    有効にする必要があるvagrantfileの構成に変更を加えた場合。VMをリロードすることをお勧めします。要求しない限り、vagrantfileで定義されたプロビジョニングを再実行します。

    ベースボックスから作成したVMは破棄されません。つまり、ユーザーディレクトリにフォルダを作成するなど、VMに加えたすべての変更は、リロード後にそこにあります。

    これは、VMの電源をオフにしてから、VMの電源がオフになっている場合にのみ適用できる特定の構成変更を適用する再起動のようなものです。次に電源を入れます。例:別のSATA仮想ディスクを接続するようなものです。

  5. vagrant up

    これにより、構成ファイルが読み取らvagrantfileれ、ベースボックスからVMが作成されます。ベースボックスはテンプレートのようなものです。そこから多くのVMを作成できます。

    同様に、vagrant destroyVMを破棄します。この場合、内部で行ったすべての変更は失われます。ただし、これは、新しいVMを作成するときに、事前定義された基本状態から開始できるという優れたアイデアです。

私はそれを使うのが本当に好きで、それについてブログを書いています。

要約すると、これはVirtualBoxAPIとコマンドの優れたラッパーです。VirtualBoxコマンドを見て、いくつかの機能をよりよく理解することができます。

于 2012-07-11T21:23:22.333 に答える
37

いつ変更されたかはわかりませんが、現在のバージョン(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のコマンドだけです。とにかく、私のシステムでは。

それが今、決定的な答えのようです。

于 2014-08-14T14:58:20.373 に答える
8

v1.1の現在のドキュメントの見た目は良くても、v1よりもはるかに完成度が低いのは本当に残念です。「lessismore」という信条は、ドキュメントの分野では機能しません...

Vagrantfilesに関して、最も完全な概要は、vagrantプロジェクトを初期化した後、新しく作成されたVagrantfileのコメントにあることがわかりました。現在ドキュメントにないパラメータについて言及しています。

于 2013-08-23T16:16:29.067 に答える