Dockerは、コンテナの実行に必要な機能に特化したLinux Subsystem「LinuxKit」を、テキサス州オースチンで開幕した同社のイベント「DockerCon 2017」で発表しました。
Linux Subsystemとは、例えばWindows 10のbash機能がWindows 10内部に用意されたLinux Subsystemで実現されているように、システムの一部として組み込まれて動作し、Linuxの機能を提供するコンポーネントを指す一般名称です。
つまりLinuxKitとは、コンテナプラットフォームに組み込まれてLinuxの機能を提供するコンポーネントということになります。
Docker創業者のSolomon Hykes氏は基調講演で、コンテナの普及によって、コンテナプラットフォームのためのセキュアかつスリムでポータブルなLinux Subsystemが必要になっていると説明。
そのために、Linux Foundationを初めとする数社と協力して「LinuxKit」を開発したことを発表しました。

例えばWindowsやMacあるいはベアメタルサーバのような、Linux OSの機能が提供されていない環境にも、Linuxコンテナを実行できるコンテナプラットフォームを簡単に展開できるようになります。

LinuxKitはコンテナ環境に特化し、特別なパッチやコンフィグレーションが提供されています。

LinuxKitは、既存のLinuxから余計なものを排除してコンテナに最適化したのではなく、コンテナプラットフォームのためにゼロからベアメタルカーネルを作り、最小のシステムライブラリを作り、コンテナランタイムを載せたものであり、これをコアとしてそれ以外のものはすべてコンテナによるオプションにしたとSolomon氏。

LinuxKitは35MB程度の小ささに収まっていると説明されています。
これまで、コンテナに最適化した軽量なLinuxディストリビューションがRed HatやCoreOS、そしてRancher Labsなどから登場してきました。Docker自身も軽量なLinux OSの開発をAlpine Linuxとして手がけていました。
しかし今回発表されたLinuxKitは、コンテナランタイムさえ動けばその下のレイヤは単独で動作するLinux OSである必要はないとして、Linuxをコンテナプラットフォームのサブシステムにまで突き詰めて分解、再構築してコンポーネント化したものといえます。
果たして、Linuxディストリビューションベンダはこれに対して今後どのような戦略で立ち向かうことになるのでしょうか。
基調講演ではLinuxKitの発表後、マイクロソフトがWindows Server Container機能でLinuxコンテナをサポートすることを発表しました。詳細は次の記事をお読みください。
クラウド
AWS /Azure /Google Cloud
クラウドネイティブ /サーバレス
クラウドのシェア /クラウドの障害
プログラミング言語
JavaScript /Java /.NET
WebAssembly /Web標準
開発ツール /テスト・品質

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
(詳しいプロフィール)
Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで :Feed