本日(米国時間10月15日)、Docker Inc. と Microsoftはパートナー提携を結び、次期Windows ServerのリリースにてDockerをサポートすることを発表した。
WindowsとDockerの連携は、いくつかの共同事業を通じてもたらされる。
- Windows Server向けの新しいDockerエンジンによってWindowsベースのコンテナを実現する。
- DockerのオープンなオーケストレーションAPIを拡張し、Microsoftエコシステムに提供する。
- DockerHubと、Azureの管理ポータルおよびギャラリーとを統合する。
- LinuxとWindowsの両方のDockerコンテナ上で動作する、マルチプラットフォームアプリケーションのサポートを提供する。
DockerはWindowsとLinuxの両方のコンテナをサポートするようになる。
WindowsバイナリをDocker上で動作させるには、いくつかの領域における作業が必要とされる。MicrosoftはWindows Serverのコンテナを実現する取り組みを主導し、Linuxのネームスペースおよびコントロールグループに相当するものを追加する。また、オープンソースのDocker Windows デーモン (Docker Linux デーモンに対応するもの) が、Dockerプロジェクトの管理の下で新たに構築される。Dockerプラットフォーム全体は、両方のデーモンと連携できるように調整される。
MicrosoftがDockerのオーケストレーション APIをサポートすることで、コンテナのオーケストレーションがマルチプラットフォームに対応できるようになる。Dockerのコンテナオーケストレーションは、他の領域においても急激な変化を迎えようとしている。Docker Incは当四半期の成果をプレビューする予定である。すなわち、FigとDockerの統合、それに先立ったOrchardの買収、Dockerホストとコンテナ間ネットワーク接続のプロビジョニングと管理である。
Docker Global Hack Day #2において、これらの新しい機能のうちいくつかは最初のデモが行われる予定である。
Ben Golubは、Dockerの発表においてDockerの創業時の目標に言及した。
Dockerが18か月前にオープンソースプロジェクトの1つとしてローンチされた時、私たちはあるシンプルな目標を掲げた。「"ボタン"ひとつでどんなアプリケーションでもビルドできて、どこにあるどんなサーバーにもデプロイできるようにすること」だ。現在、大きな成功を収めていると感じている…… a) Linux アプリケーションが、b) 限られた数のDockerコンテナで構成される状況については。
Benは今回のパートナー提携について「両方の挑戦に取り組む大きな一歩を表すものだ。」としめくくっている。
Microsoftによるコンテナ技術、中でもDockerに対する深い関与については、今年の前半に発表された、Microsoft AzureにおけるDockerの動作のサポートによってすでに明らかになっていた。
今回の発表はRedditやHacker Newsにコメントの渦を巻き起こした。興奮したコメントをつけたユーザーもいた。たとえばamarrajaはこのようにコメントした。「MS系開発の世界に長年いるけれど、今回の件は間違いなくこれまでで最良のニュースだ。」一方で、SwellJoeのように懸念をあらわにしたユーザーもいた。MicrosoftがDockerの実装を最終的に分岐させてしまうのではないかということだ。「最近はこの恐れが正当なものかどうかわからなくなっているとはいえ、長い間ずっと、"取り込んで拡張する" 戦略は現実的な問題だった。」
Dockerにおけるビジネス開発および技術提携の代表者であるNick Stinematesは、この議論に参加してこのように述べた。
私は今回の契約条件に非常に安心している。それは、オープンソースへの責任を守ることを保障しているし、Microsoftに限らず、パートナーからは何ら特別な手段を受け取らないことを保障しているからだ。このプロジェクトはこのプロジェクトのまま、コミュニティによって表明されたルールの下で運営される。Docker Inc.のメンバーであっても、何かを変えようとするならばそれを主張して争わなければならない。私たちは、プロジェクトへの貢献に階級の差があるなんて思ってはいない。
今回の発表の持つ意味や、WindowsコンテナでLinuxのバイナリを実行したりその逆を実行したりする可能性について混乱したユーザーもいた。たとえば、PasswordIsntHAMSTERは次のように書いた。「今回のリリースから私が感じたのは、両方のプラットフォームで、どちらのOSをターゲットとしたコンテナでも区別なく実行できるようになるかもしれないということだ。」これは事実ではない。再びNick Stinematesの投稿を引用する。
今回の提携は、Linuxの実行可能ファイルがWindows上でネイティブに動作することおよびその逆を目標とするものではない。
UnoriginalGuyは、今回の構想がコンテナ空間に関する研究プロジェクトDrawbridgeと関連するものだったかどうか尋ねた。AzureチームのMadhan Ramakrishnanはこう返信した。
Drawbridgeについては、 [...] 内部の研究プロジェクトである。そこから新しいものを取り入れようとしてきたし、コンテナについて貴重な経験を得ることのできるものだった。本日発表したことの多くは、Drawbridgeから得た経験が元になって生まれたものだ。
Nick Stinematesはさらに踏み込んで明言した。「Windowsに適した形で、新しいネイティブな機能が追加される(編注:予定である)」とのことだ。