オリジナル: http://docs.vagrantup.com/v2/getting-started/index.html
前篇
中篇
VMをストップ!
前篇・中編を通して基本的なWeb開発に必要な機能を持ったVMができあがりましたが、
例えば、途中で別のプロジェクトにとりかからなければダメだったり、
ちょうどランチに行く時間だったり、家に帰る時間だったとすると、
(要はVMを止めたいということですね)
さっき作ったVMをどうしたらいいでしょう?
Vagrantだと、suspend・halt・destroyコマンドでVMの停止ができます。
それぞれ長所もあれば短所もありますので、
ケースバイケースで使いわければよろしいかと思われます。
1. vagrant suspend
vagrant suspendコマンドは現状を保存しつつVMを停止することができます。
再びVMを使いたいときはvagrant upコマンドを実行するだけで、
VMは停止した時と同じ状態で再開します。
suspendする主なメリットは、むちゃくちゃ速いところです。5-10秒で停止&再開出来ます。
デメリットは、VMがディスクスペースを食うところです。
VMのメモリ上の情報もディスクに保存しなければならないため余分にディスクを食います。
2. vagrant halt
vagrant haltコマンドはVMのOSをシャットダウンしてVMの電源を落とします。
vagrant upすることでもう一度ブートできます。
この方法のメリットは、VMのディスクを保存しつつ、きれいにシャットダウンできることです。
デメリットは、再起動するまでに少し時間がかかることと、
ホストマシンのディスクを食ってしまうことです。
3. vagrant destroy
vagrant destroyすると、VMを作った痕跡を完全に消し去ります。
VMを止め、電源をOFFし、VMのハードディスクを完全に消し去ります。
ただし、再び作業を始めたいときはvagrant upするという点は他と一緒です。
メリットはディスクスペースを全く食わないという点です。
デメリットはもう一度OSをインストールしプロビジョンしなければならないので、
起動に時間がかかるところです。
例えば、途中で別のプロジェクトにとりかからなければダメだったり、
ちょうどランチに行く時間だったり、家に帰る時間だったとすると、
(要はVMを止めたいということですね)
さっき作ったVMをどうしたらいいでしょう?
Vagrantだと、suspend・halt・destroyコマンドでVMの停止ができます。
それぞれ長所もあれば短所もありますので、
ケースバイケースで使いわければよろしいかと思われます。
1. vagrant suspend
vagrant suspendコマンドは現状を保存しつつVMを停止することができます。
再びVMを使いたいときはvagrant upコマンドを実行するだけで、
VMは停止した時と同じ状態で再開します。
suspendする主なメリットは、むちゃくちゃ速いところです。5-10秒で停止&再開出来ます。
デメリットは、VMがディスクスペースを食うところです。
VMのメモリ上の情報もディスクに保存しなければならないため余分にディスクを食います。
2. vagrant halt
vagrant haltコマンドはVMのOSをシャットダウンしてVMの電源を落とします。
vagrant upすることでもう一度ブートできます。
この方法のメリットは、VMのディスクを保存しつつ、きれいにシャットダウンできることです。
デメリットは、再起動するまでに少し時間がかかることと、
ホストマシンのディスクを食ってしまうことです。
3. vagrant destroy
vagrant destroyすると、VMを作った痕跡を完全に消し去ります。
VMを止め、電源をOFFし、VMのハードディスクを完全に消し去ります。
ただし、再び作業を始めたいときはvagrant upするという点は他と一緒です。
メリットはディスクスペースを全く食わないという点です。
デメリットはもう一度OSをインストールしプロビジョンしなければならないので、
起動に時間がかかるところです。
VMの再構築(再開)
明日であろうと来週であろうと一年後であろうとVMを再起動するのはとても簡単です。
VMの環境はVagrantfileによって完全に管理されているので、
たったこれだけで再構築できるんです。
$ vagrant up
VMの環境はVagrantfileによって完全に管理されているので、
たったこれだけで再構築できるんです。
プロバイダー
このGetting Startedガイドでは、VirtualBoxをプロバイダーとして使いましたが、
Vagrantでは他にもVMware FusionやAWSなどを使うこともできます。
一度プロバイダーをインストールしたら、特にVagrantfileを修正する必要はありません。
↓のように適切なプロバイダーでvagrant upするだけです。
クラウドを使いたいなら↓のようにawsを指定してやるだけ!
vagrant up時にプロバイダーを指定すれば、それ以降はどのvagrantコマンドを打つときも、
特にプロバイダーを指定する必要はありません。Vagrantが自動的に判定してくれます。
なので、SSHしたいときやdestroyしたいときなどなど、
ただいつもどおりコマンドを打つだけです。
プロバイダーに関するもっと詳しい情報はこちら
Vagrantでは他にもVMware FusionやAWSなどを使うこともできます。
一度プロバイダーをインストールしたら、特にVagrantfileを修正する必要はありません。
↓のように適切なプロバイダーでvagrant upするだけです。
$ vagrant up --provider=vmware_fusion
クラウドを使いたいなら↓のようにawsを指定してやるだけ!
$ vagrant up --provider=aws
vagrant up時にプロバイダーを指定すれば、それ以降はどのvagrantコマンドを打つときも、
特にプロバイダーを指定する必要はありません。Vagrantが自動的に判定してくれます。
なので、SSHしたいときやdestroyしたいときなどなど、
ただいつもどおりコマンドを打つだけです。
プロバイダーに関するもっと詳しい情報はこちら