コンテナ型仮想化「Docker 0.7」リリース。主要Linuxディストリビューション全対応、ストレージドライバ同梱、コンテナ命名も可能に
コンテナ型仮想化ソフトウェア「Docker」の最新バージョン「Docker 0.7」がリリースされました。
コンテナ型の仮想化は、ハイパーバイザによってハードウェアを仮想化する従来の方法とは異なり、OSの上に分離された複数のユーザー空間を作り出すことで、物理サーバの上に複数の仮想サーバを実現します。
ハイパーバイザ型に比べてコンテナ型は非常に軽量で、それがいまコンテナ型仮想化が注目される最大の理由になっています。一方、ハイパーバイザ型では仮想サーバごとに異なるOSが選べるのに対して、コンテナ型はその仕組み上、一種類のOSに限定されるという制限があります。
Dockerはコンテナ型仮想化ソフトウェアとしてもっとも注目度の高いソフトウェアといえるでしょう。バージョン0.7では主要なディストリビューションすべてで利用可能になったため、これからの普及に大きなはずみがつきそうです。
Docker 0.7のおもな新機能をまとめました。
あらゆるLinuxディストリビューションに対応
これまでDockerを利用するには、UbuntuなどDockerをサポートした一部のディストリビューションか、もしくは利用者自身でLinuxにパッチを当てなければなりませんでしたが、Docker 0.7からは主要なLinuxディストリビューションすべてで利用できるようになりました。0.7のリリースを発表したブログポストから引用します。
As of today, Docker no longer requires a patched Linux kernel, thanks to a new storage driver contributed by Alex Larsson (see the next feature, “storage drivers”). This means that it will work out-of-the-box on all major distributions, including Fedora, RHEL, Ubuntu, Debian, Suse, Gentoo, Arch, etc.
本日をもって、Alex Larssonによる新しいストレージドライバのおかげで、Dockerはパッチを当てたLinuxカーネルを必要としなくなった(新機能“ストレージドライバ”参照)。これはつまり、Fedora、RHEL、Ubuntu、Debian、Suse、Gentoo、Archなど、すべての主要なディストリビューションでそのまま動く、ということだ。
ストレージドライバ同梱
Dockerを実現する主要な機能の1つが、AUFS(Another UnionFS)と呼ばれるファイルシステムにあります。これはファイルやディレクトリに対して、それを壊すことなく上書きできる機能を備えたファイルシステムです。
DockerではAUFSを使って、OSのイメージに対して差分を管理することで、複数のコンフィグレーションのOSを保持し、すぐに呼び出せるようになっています。
Unfortunately, AUFS is not part of the standard linux kernel and it’s unclear when it will be merged. This has prevented docker from being available on all Linux systems. Docker 0.7 solves this problem by introducing a storage driver API, and shipping with several drivers.
残念なことに、AUFSは標準のリナックスカーネルには備えられておらず、いつマージされるかもはっきりしない。これがDockerをあらゆるLinuxシステムで使えるようにすることを妨げていた。
Docker 0.7ではこれを解決するため、ストレージドライバAPIを採用、いくつかのドライバを同梱した。
現在、ZFSやGluster、Cephなどへの対応も進めているとのことです。
Offline transfer
アプリケーションも含んだDockerの実行イメージをそのままファイルに固めることができます。固めたファイルは、ほかのマシンなどへ転送しDockerで起動すれば同じ環境を再現することが可能。
This feature is particulary interesting for software vendors who need to ship their software as sealed appliances to their “enterprise” customers.
この機能はとりわけ、ソフトウェアをひとかたまりのアプライアンスとしてエンタープライズな顧客へ出荷したいソフトウェアベンダーにとって気になるものだろう。
コンテナ間の通信、コンテナの命名など
そのほかの新機能もリストアップしておきます。
Advanced port redirects
ホストのポートリダイレクト機能
Links
コンテナ間の通信機能
Container naming
コンテナの命名機能。非常に要求が多かったという。
あわせて読みたい
最新バージョンのChrome 31とOpera 18、asm.jsとWebGLで高速実行を実現。Unreal Engine 3対応に
≪前の記事
2017年までに、あなたのスマートフォンはあなたより賢くなる、クラウドのおかげで。ガートナー