Vagrantの新バージョン1.6には、これまでサポートされてきたVirtualBoxやVMware、AWSといった仮想化およびクラウドプロバイダに加えて、Dockerベースの開発環境のサポートが含まれている。
この新リリースによって、Vagrantユーザはこれまで使ってきたのと同じ仮想マシン操作およびワークフローを、Dockerコンテナを使って実行することが可能になる。Dockerプロバイダは繰り返し新規コンテナを作成するのに役立つDockerfilesからのコンテナやDocker indexサポートしている。そこには事前ビルドされた多くのリポジトリが並び、公式のUbuntuやCentOS、Fedoraのベースイメージをはじめ、MySQL、Java、MongoDBといった環境も含まれている。このリリースにはDockerプロバイダ向けの2つの新しいコマンドも含まれている。docker-logsはコネクタログを表示し、docker-runはコンテナ内における任意のコマンド実行を可能にする。LinuxコンテナをネイティブでサポートしないOS XやWindowsといったプラットフォーム上では、追加のソフトウェアを用意する必要なしに、コンテナを実行するプロキシLinux VMを自動で管理してくれる。
Dockerがバージョン1.0に近づくにつれ、Dockerコンテナをサポートするツールも増えてきている。ちょうど数週間前、Red HatはコンテナおよびDockerテクノロジによるベアメタルシステム、仮想マシン、プライベートおよびパブリッククラウドにわたる、最新のアプリケーションデリバリーおよびオーケストレーションのための新たなLinuxコンテナプロジェクトを発表した。Googleのインフラストラクチャ担当バイスプレジデントのEric Brewer氏は、Linuxコンテナについてこう語っている。
Googleではプロダクションシステムをサポートするのに、Linuxアプリケーションコンテナをフル活用しています。コンテナはハイレベルなランタイムの分離とデプロイメントの柔軟性をもたらし、管理している分散アプリケーションの複雑さを減らし、全体の運用効率を高めています。
Vagrant 1.6には以下のような注目すべき新機能も追加されている。
-
Windowsゲスト: Vagrant 1.6では、Vagrant環境 (VirtualBox, Hyper-V, EC2など) 内でのWindows実行のサポートが追加され、ソフトウェアのインストールおよび設定にPowerShellスクリプト、Chef、Puppetなどを使うことができる。Windowsゲストには、Linuxにおけるvagrant sshに相当するvagrant rdpが提供され、Windows環境における完全なリモートデスクトップ環境へのシングルコマンドアクセスを可能にする。Microsoft Open TechではHyper-V用にパッケージされたVagrant boxの形でWindowsの評価コピーを提供している。
-
グローバルステータスとコントロール: Vagrant 1.6では新しいglobal-statusコマンドが導入され、システム上に生成したすべてのVagrant環境のステータスを表示する。Vagrant環境ごとに割り当てられたユニークなIDを使うことで、グローバルコントロールはVagrantfileのあるディレクトリだけでなく、任意のディレクトリからのコントロールを可能にする。グローバルなIDを指定して、destroy, up, suspend,...といった任意のVagrantコマンドを使うことができる。
ほかにも、現在のVagrantバージョンだけでなく、そのバージョンが古いか教えてくれる新しいversionコマンドや、これまでは最初のvagrant upで実行するだけだったのが、任意のvagrant upやvagrant reloadコマンドで実行するようプロビジョナーを設定できる機能、といったものも含まれている。またVagrant 1.6からは、vagrant up後に表示されるpost-upメッセージをVagrantfilesに入れることができ、boxをLZMAで圧縮することもできる。これは多くの場合、サイズをずっと小さくする。