Dockerエンジンのコアランタイムが「containerd」として分離、独立したオープンソースプロジェクトに。Docker、AWS、Google、IBM、マイクロソフトらが協力して開発推進へ
Dockerは、Dockerエンジンのコア部分を「containerd」(発音はCon-tay-ner-D:コンテナーディー)として分離し、単独のオープンソースプロジェクトとしてアリババ、AWS、Google、IBM、マイクロソフトらと共同で開発を推進していくことを発表しました。来年2017年の早期には、このプロジェクトを中立的な団体へ寄贈するとしています。
containerdは、Docker 1.11以降のDockerのコアコンテナランタイムに相当するもの。RunCベースであり、コンテナ標準であるOCI(Open Container Initiative)に準拠しています。
下記の図は現在のDocker全体のアーキテクチャにおいてcontainerdがどこに位置づけられているかを示した図です。下位にはOS上でコンテナを実現するInfraKitがあり、その上にコンテナランタイムのcontainerdが、上位にはオーケストレーションを実現するSwarmKitがある、という構造になっています。
containerdは現時点でバージョン0.2.4とされ、バージョン1.0には2017年第2四半期に到達予定。
バージョン1.0では、コンテナランタイムに加えてイメージ配布機能、ネットワークインターフェイス、ローカルストレージなどの機能も備える見通しです。これにより、さまざまなコンテナサービスでこのcontainerdをコンテナランタイムとして採用できるとしています。
When containerd 1.0 implements that scope, in Q2 2017, Docker and other leading container systems, from AWS ECS to Microsoft ACS, Kubernetes, Mesos or Cloud Foundry will be able to use it as their core container runtime.
2017年第2四半期の時点でバージョン1.0がこれらの機能を実装すると、Dockerやそのほかの先進的なコンテナシステム、例えばAWSのECS(EC2 Container Service)、Microsoft AzureのACS(Azure Container Service)、Kubernetes、Mesos、Cloud Foundryなどは、これ(containerd)をそれらのコアコンテナランタイムとして利用できるようになる。
(「containerd - a core container runtime project for the industry - Docker Blog」から)
Dockerはコンテナ型仮想化を実現するために幅広く使われているソフトウェアですが、バージョンが上がるにつれてさまざまな機能がDockerエンジンに統合され、肥大化しつつあると見られるようになってきました。
Kubernetesが独自のランタイムである「cri-o」を開発しようとしているのも、こうした状況に対して彼らなりの問題解決を目指したものだといえます。
containerdの登場は、こうした状況に対してDockerが反応し、コンテナランタイムの実装が分裂しないようにAWSやGoogleやIBMやマイクロソフトなどを巻き込んでいった、ということではないでしょうか。
あわせて読みたい
Google、オープンソースでPaaS基盤を開発する「Cloud Foundry Foundation」加盟を発表
≪前の記事
IBMのサーバレスコンピューティング環境「OpenWhisk」がBluemix上で正式サービスに。Dockerイメージも実行可能