Docker代替のコンテナーランタイム「Rocket」をCoreOSが公開:「Dockerはもはや標準コンテナーではない」
CoreOSがDocker代替のシンプルなコンテナーランタイムを公開。Dockerの当初の目的であるシンプルなコンテナーを目指すプロトタイプだ。
CoreOSは2014年12月1日、新しいコンテナーランタイム「Rocket」のプロトタイプ版をGitHubで公開した。
CoreOSはこれまでDockerを積極的に推進し、共同創業者のブランドン・フィリップスCTOはDockerの筆頭コントリビューターだった。「2013年にDockerが登場した時点で『標準コンテナー』の概念は魅力的だった」とアレックス・ポルビ最高経営責任者(CEO)は振り返る。
しかし現在のDockerについて同氏は、「クラウドサーバー構築用のツールやクラスタリングのためのシステムとなって幅広い機能を持つようになった。『標準コンテナー』の宣言は削除され、我々が描いたようなシンプルで組み立て可能なコンポーネントではなくなりつつある」と指摘する。
そこでCoreOSでは、Dockerが最初に打ち出していたコンテナーの概念を前提として、Dockerに代わるサーバー環境向けのランタイムとしてRocketを開発し、プロトタイプ版の「Rocket 0.1.0」を公開した。
Dockerのforkとしなかった理由については、「全てが中央のデーモン(プロセス)を通じて実行されるDockerの処理モデルには、セキュリティと再利用性において根本的な欠陥がある。こうした問題に対応しないまま、Dockerの破綻したセキュリティモデルをサポートし続けることはできない」と言い切っている。
ただし現時点では、Dockerは引き続きCoreOSに完全統合する予定だ。
Rocketの構築に当たっては、ポータブルコンテナーフォーマット向けの新しいオープン仕様である「App Container」を採用している。
App Containerは、コンテナー実装に特化してAWSにおけるAMI相当の機能を提供する「App Container image(ACI)」、デバイス、環境変数、外部環境にデータを公開するためのメタデータサービスインターフェースの定義などを提供する「App Container Runtime」、ACIを探索する機能を提供する「App Container Discovery」で構成される。App Containerがコンテナ環境の定義を担うのに対して、Rocketはコマンドラインツールとしてこれらの機能を提供するものになるという。
Rocketはスタンドアロンツールとして、Ubuntu、Red Hat Enterprise Linux(RHEL)、CentOSなどの多様なプラットフォームでも利用できるという。
Copyright © ITmedia, Inc. All Rights Reserved.