2012-07-11 7 views
88

「はじめに」チュートリアルの参照以外に、Vagrantコマンドが何をしているのかについての驚くべきことは書かれていません。バゲットコマンドは正確に何をしますか?

私がこれまでに出て働いてきた:

  • boxを - "boxes"
  • destroyを管理 - VMをシャットダウンし、その保存された画像を削除しますか?
  • gem
  • halt - VM
  • initをシャットダウン - 新しいVagrantfile
  • packageとディレクトリを準備 - ボックスに変換することができます「パッケージ」に変換した後、VMをシャットダウン? (か何か)
  • provision - ちょうどプロビジョニング(例えば、シェフ、人形...)段階
  • reloadを実行 - VMを再起動し、(例えば、Vagrantfileを再適用)VMの設定を変更し、
  • resumeを再プロビジョニング - 非中断(すなわち、unhibernate)
  • ssh - VM
  • ssh-config
  • status
  • へのSSHシェル接続をオープン- VM
  • up休止状態 - の一部または全部:新しいVMを作成するためのVMイメージをコピーするには、それに設定を適用し、それ

が、私はこれらの権利を持っています起動しますか?他のものは何ですか?私はまだreloaddestroy/upの正確な違いについてはまだ不明です。

+0

現在のドキュメントは現在良くなっています。http://vagrantup.com/v1/docs/index.html – JavaRocky

+1

@JavaRocky、それは私のようには見えません。 http://vagrantup.com/v1/docs/commands.htmlには、文字通り、サブコマンドごとの情報はありません。私は、このようなガイドの各コマンドに関する* more *情報を期待します( '-h'と比較して)。 –

+2

@JavaRocky - それが良ければ、私は以前のようなものは想像できません。役に立たない – DougW

答えて

30

私はそれが変化したときにわからないんだけど、現在のバージョン(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を単独で実行すると完全なリストから外に出るのは、ドッカーとrsyncのものです。私のシステムでは、とにかく。

これは決定的な回答と思われます。

43

私は、vagrantupの文書が短い辺にあることに同意します。

いくつかの情報は、コマンドヘルプシステムから収集できます。例えば

  1. gemコマンド。

    引数なしでコマンドを入力すると、vagrant gem -hと表示され、必要な情報が出力されます。

    vagrant gemはRubyGemsの システムを介しベイグラントプラグインをインストールするために使用されます。実際、vagrant gemは実際のgem インターフェイスのフロントエンドに過ぎません。違いは、Vagrantが ディレクトリに宝石がインストールされており、 システム宝石から隔離されているという点です。

  2. Vagrant ssh-config:あなたはVMにsshをするvagrant sshを実行ボンネットの下に

    、。それはよく知られているsshキーを利用しています。このキーに関する情報は、vagrant ssh-configによって提供されています。これは、よく知っている鍵を自分の秘密鍵に変更し、それを使用するためのボックスを用意したい場合に便利です。

    また、VMでsshベースの自動化を使用することもできます。その場合、どのキーが使用されているかを知ることは有用です。 ssh -i keyfile ..

  3. vagrant status <vmname>

    このコマンドは、VMの状態に関する情報を提供するラッパーです - あなたは、通常のsshコマンドを使用して行うことができます。実行中、保存中、電源オフの可能性があります。

  4. vagrant reload

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

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

    VMの電源をオフにしてから、VMの電源がオフになっているときにのみ適用できる特定の構成変更を適用するのは、リブートと同じです。電源を入れます。例:別のSATA仮想ディスクの接続など。

  5. vagrant up

    これは、設定ファイル読み込み - vagrantfileをして、ベースボックスからVMを作成します。ベースボックスはテンプレートのようなものです。そこから多くのVMを作成できます。

    同様に、vagrant destroyはVMを破壊します。この場合、内部で行った変更はすべて失われます。しかし、新しいVMを作成するときに、あらかじめ定義された基本的な状態から開始できるという素晴らしいアイディアがあります。

私は実際にそれを使用しており、blogged about itを持っています。

要約すると、VirtualBox APIおよびコマンドよりも優れたラッパーです。 VirtualBox commandsをご覧になり、いくつかの機能をよりよく理解することができます。

+1

どのようなバージョンの腐食剤からこのすべての出力を得ますか?私は1.0.5を使用しています。 'vagrant gem -h'はあなたが示した出力を与えますが、他のすべての人は何も役に立たないと言います。 – DougW

+2

バグ:1.2は後退しているようです。例: 'vagrant init -h'はこれを与えるだけです:使用法:vagrant init [box-name] [box-url] -h、--helpこのヘルプを表示します –

8

v1.1の現在のドキュメントが良く見えても、v1よりもはるかに完全ではないというのは本当に悪いことです。 「less is more」はドキュメントの領域ではうまくいきません。

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

関連する問題