Docker、WindowsとLinuxに両対応する「マルチアーキテクチャイメージ」の仕組みを開発中、デモも披露

2016年1月14日

マイクロソフトが開発中のWindows Server 2016にはDockerの機能が組み込まれ、Windows上でコンテナ型仮想化を実現する予定です。

しかしWindowsとLinuxのあいだにアプリケーションの互換性がないのと同様に、Windows用のDockerイメージとLinux用のDockerイメージにも互換性はありません。

例えば、Docker HubにNoSQLデータベースであるRedisのDockerイメージがあるとして、それがLinux用にビルドされたDockerイメージの場合には、Windows ServerのDockerでそれを実行することはできません。

これまでDockerが対応しているOSはLinuxしかなかったため、DockerイメージがどのOSに対応しているのかを気にする必要はありませんでした。しかしWindows Server版Dockerが登場することで、その状況が変わろうとしているのです。

Multi-architecture images(マルチアーキテクチャイメージ)

この新しい状況で発生する不便さを解決するために開発が進んでいるのが「Multi-architecture images」(マルチアーキテクチャイメージ)です。

Multi-architecture imagesは、Windows用とLinux用のそれぞれのイメージファイルを用意しておき、利用されるイメージはターゲットOSによって自動的に切り替わる、という仕組み。ARMなどプロセッサの違いにも対応します。

昨年11月にバルセロナで行われたイベント「DockerCon Europe 2015」のセッションで、マイクロソフトとDocker社が協同で行ったセッション「Windows Server Containers - How we got here and architecture deep dive」において、Docker社のシニアエンジニアリングマネジャーのArnaud Porterie氏がその取り組みについて説明しています。

fig

Arnaud氏の説明によると、例えばRedisという単一の名前で新しくマニフェストファイルが用意されます。

そのマニフェストファイルはRedis for WindowsとRedis for LinuxなどのDockerイメージへの参照を備えており、Dockerエンジンによって実行されるものが決定されるとのこと。

これの優れた点は、WindowsでもLinuxでもOSの違いを気にすることなく同一の設定で同じアプリケーションが実行される、という点です。

LinuxとWindows Serverを同一のクラスタに設定してデモ

Arnaud氏は実際にこの仕組みが動いている様子をデモで紹介しました。

まず、Azure内のWindows版DockerとDigitalOcean内のLinux版Dockerが、1つのSwarmクラスタとして設定されています。

fig

Swarmマスターから、クラスタ内のLinux OSだけを対象にしてredisを起動するように命令すると、RedisがLinuxのホストで立ち上がります。

fig

この命令のLinux OSの指定の部分を「Windows」に書き換えて実行してみると対象OSが切り替わり、今度はWindows ServerでRedisが起動しました。Windows ServerのコマンドラインでDocker psを実行すると、1秒以内にredisが起動しているのが分かります。

fig

下記が公開されているセッション「Windows Server Containers - How we got here and architecture deep dive」の動画です。Multi-architecture imagesの説明は26分頃から。デモは35分頃からです。

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : Docker , Linux , Windows , コンテナ , 仮想化



≫次の記事
DevOpsを採用している国内企業=7%、知らない=39%、予定はない=33%。IDC Japan
≪前の記事
開発現場を「自動化」する仕事は儲かるのか? 自動化を仕事にするには~自動化の現場の真実(後編)。システムテスト自動化カンファレンス 2015

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus