Windows ServerでLinuxコンテナが稼働可能に、今月のWindows Server 2016アップデートで。マイクロソフトが予告

2017年9月21日

マイクロソフトはWindows Serverを6カ月ごと、年に2回ずつアップデートし、新機能を追加していく「Semi-annual Channel」を提供していくと今年6月に発表しています

その最初のアップデートとなる「バージョン1709」は2017年9月、つまり今月リリース予定です。同社はブログ「Sneak peek #3: Windows Server, version 1709 for developers」で今回のアップデートの概要を伝えており、新機能のひとつとしてWindows Server 2016のDockerでLinuxコンテナが稼働することを紹介しています。

Windows ServerのDockerコンテナでLinuxコンテナが稼働

もともとLinuxで生まれたDockerは、複数のコンテナ空間からコンテナのホストOSであるLinuxのカーネルを共有する仕組みになっているため、コンテナ空間で提供されるOSはホストOSと共通であることが想定されていました。

Windows Server 2016に搭載されているDockerコンテナも基本的には同じ仕組みです。現時点でWindows ServerのDockerコンテナはWindows Serverコンテナであり、そこで実行できるのはWindows Serverアプリケーションとなっていました。

しかしWindows Serverには通常のWindows Serverコンテナのほかにもうひとつ、Hypver-Vコンテナと呼ばれるコンテナ機能を備えています。これはその名前が示すように仮想化ハイパーバイザであるHyper-Vの技術を利用したもので、通常のコンテナよりも高い分離レベルを備えたものです。そのためホストOSとカーネルを共有していません。

マイクロソフトはこのHyper-Vコンテナに、Dockerが今年4月にMoby Projectのひとつとして発表したコンテナ環境に特化した最小限のLinux機能を提供する「LinuxKit」を組み合わせることで、Windows ServerのDockerコンテナでLinuxコンテナを実現すると説明しています。

Linux Containers on Windows Server2017年4月にDockerConで初めてWindows ServerにLinuxコンテナを乗せる構想が発表されたときに使用されたスライド

マイクロソフトのブログから、説明を引用します。

This feature uses Hyper-V isolation to run a Linux kernel with just enough OS to support containers. Since then, we’ve been hard at work building this technology with new functionality in Hyper-V, joint work with the Linux community, and contributions to the open source Moby project on which Docker technology is built.

この機能はHyper-Vの分離機能によって、コンテナをサポートすることだけを満たすLinuxカーネルを実行することで実現している。私たちはこのHyper-Vの新機能と、Linuxコミュニティとの協力、そしてDockerが開発したオープンソースのMobyプロジェクトを基にしたこの技術の開発にいそしんできた。
(Windows Server Blogの記事「Sneak peek #3: Windows Server, version 1709 for developers」から

Moby Projectを立ち上げ、LinuxKitの開発を主導したDocker社も、Windows ServerのLinuxコンテナ対応に次のように期待を寄せています。同社のブログに投稿された記事「PREVIEW: LINUX CONTAINERS ON WINDOWS」から引用します。

This is exactly what the LinuxKit toolkit was designed for: creating secure, lean and portable Linux subsystems that can provide Linux container functionality as a component of a container platform.

まさにこのためにLinuxKitが作られたのだ。セキュアで無駄がなく、ポータブルなLinuxサブシステムであるからこそ、コンテナプラットフォームのコンポーネントとしてLinuxコンテナの機能を提供できるのだ。

Windows Serverの仮想空間でLinuxアプリケーションを動かすことは、仮想化ハイパーバイザを利用すれば現在でも可能です。同様のことをWindows Server上のコンテナで実現したポイントとしては、従来のDockerコンテナと同じ操作やAPIを備えているということです。

Windows Serverのままで、Linuxコンテナのエコシステムにアクセスできるようになることは、マイクロソフトにとっても、Dockerにとっても、そしてそれぞれのユーザーにとっても喜ばしいことだと言えるでしょう。

Tags: Docker Windows コンテナ型仮想化 Windows Server

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





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本