【修正:2014/7/24】「Dockerの使いやすさ」節を「Dockerの優れたポータビリティ」節として修正しました。
Dockerの優れたポータビリティ
実際にチームや会社で技術を導入していく際に、使いやすさは一つの重要なポイントです。使いやすさには、いくつか観点がありますが、「シンプルな使い方を提供しているか」「様々な用途に対応できるか」「追加開発なく実現したいことが実現できるか」などは、技術検証の際にも話題に上がってきます。
とりわけ、仮想化技術を活用する際にはイメージ配布などを頻繁に行うため、その「持ち運びの利便性」が重要になってきます。Dockerはイメージの持ち運びに対して、次のような利便性(ポータビリティ)を備えています。
みんなで使える
Dockerは、registryという概念を持っており、そこでイメージの保管や共有が可能です。開発者がGitで行っているように、インフラ担当者はDockerのイメージをpush/pullすることができます。
誰でもアクセスできる範囲でイメージを公開したい場合は、DockerHubというパブリックなregistryを利用できます。
一方で、会社の中でイメージを共有するなど、アクセスを特定の権限を持つ人間に限定したい場合は、自分でprivate registryを立て、その中で共有することができます。
どこでも使える
Dockerは、Linuxカーネルを使っている環境の上であればどこでも動作するため、プラットフォームを意識することなく利用できます。
例えば、AWSのイメージをGoogleのクラウドに移動させる機能などは、各クラウドベンダーでは実装されていませんが、Dockerでイメージのやり取りをすることによって、異なるプラットフォーム間でイメージを共有できます。
また、物理サーバー上でイメージを共有し、実行することもできるため、物理での検証環境をクラウドに持っていったり、逆にクラウド上のイメージを社内の物理サーバーやローカルPCに落としてくることが可能です。