米Docker、Linuxサブシステム構築ツールキット「LinuxKit」を公開

 米Dockerは4月18日、Linuxサブシステム構築ツールキット「LinuxKit」をオープンソースで公開した。コンテナネイティブのOSを構築できるもので、同日発表したコンテナフレームワーク「Moby Project」と合わせてコンテナの普及を図る。

 LinuxKitは、カスタムのLinuxサブシステムを構築するためのツールキット。もともとDockerが社内で利用しているものをオープンソースで公開したものとなる。開発にはLinux FoundationやARM、Microsoftなどの協力も得られているという。

 LinuxKitを利用することでコンポーネントやランタイムプラットフォームが必要とするサブシステムを構築でき、たとえばWindowsやmacOSといったLinuxネイティブではない環境でもLinuxベースのコンテナを容易に実行できるようになる。

 LinuxKitではLinux自体もコンテナとして動作する。システムサービスはすべて置き換え可能なコンテナで提供され、不要なものは入っていない。最小サイズは35MBで、起動時間も最小レベルという。コンポーネントは固有のニーズに合わせて取り替えることができる。クラスタ構成のアプリケーション向けに設計されており、Infrakitなどの外部のツールで管理も可能。

 特徴の一つが安全性。コンテナのユースケースに合わせて設計されており、システム全体を不変なインフラとして使って、CI(継続的インテグレーション)パイプライン内でビルドやテストを実行できる。システムサービスはコンテナ内にサンドボックス化されており、必要な特権のみを持たせた。

 開発の背景として、Dockerがここ1年で進めている様々なプラットフォームへの対応を上げている。プラットフォーム対応は最も多い要求の一つで、DockerはMac向け、Windows向け、AWS向け、Azure向け、GCP向けと対応を進めた。そこでの課題として、ユーザーは多くのプラットフォームでLinuxContainerのサポートを望んでいるが、プラットフォームそのものにLinuxカーネルが含まれていないケースも多い。そこで、DockerプラットフォームにLinuxをバンドルすることで解決しているという。

 このような経緯から、コンテナプラットフォームのコンポーネントとしてLinuxコンテナ機能を提供し、そのために安全かつ移植性のあるLinuxサブシステムを開発したという。

 LinuxKitはプロジェクトのWebサイトより入手できる。

LinuxKit
https://github.com/linuxkit/linuxkit