横田です。Dockerが盛り上がっておりますが、Dockerの盛り上がりと同時に「Dockerを利用してPaaSを構築できるツール」や「DockerにUIを追加するツール」さらに「Dockerの利用を前提としたOS」など「Docker専用ツール」も登場してきています。
今回は、そのような「Docker専用ツール」を色々とご紹介したいと思います。
《PaaS》
Docker上にPaaSを構築するツールがいくつか登場してきています。かつては「Dokku」が人気でしたが、最近では「Flynn」と「Deis」というツールに人気が集まっているようです。
日本だとWeb上のドキュメントが少ないですが、先日の「Docker meetup tokyo #3」で発表されたtaichi nakashimaさんの記事が「flynn」関連のドキュメントを多く公開してくださっているので「Flynn」の方がやりやすいかもしれません。
[関連リンク]
・Flynn vs. Deis: The Tale of Two Docker Micro-PaaS Technologies | CenturyLink Labs
《Flynn(ふりん)》
Flynnは、Dockerを利用したGo言語ベースのPaaS。日本語でのドキュメントはまだ少ないですが、前述したとおりtaichi nakashimaさんが色々とドキュメントを公開しております。以下、日本語での関連リンクを掲載しておきます。
[関連リンク]
・Flynn – The product that ops provides to developers
・DockerによるマルチホストのPaaS flynnの概要とそのアーキテクチャー | SOTA
・Flynn: Heroku for Docker的なオープンソースプロジェクト – ワザノバ | wazanova
《Deis(でいす)》
DeisはCoreOSを利用したPaaSを構築するツール。Flynnと比べられる事も多いですが、日本語でのドキュメントはまだ少ないです。
[関連リンク]
・Deis | Your Paas. Your Rules.
・DEISでJavaアプリケーションを動かしてみたよ(DevOpsだね) – Qiita
《Dokku(どく)》
Dokkuは100行程度のシェルスクリプトで書かれたシンプルなPaaS。DigitalOceanではパッケージが用意されているなどFlynnやDeisの前からDockerのPaaSと言えばDokkuという印象が個人的にはありました。
[関連リンク]
・dokku + VirtualBoxで自分のHerokuを作る
・橋本商会 ? DockerとdokkuをMacにインストールして自分をHeroku化した
《UI》
Dockerを操作する時は当然CLIから行うことになりますが、最近ではDockerをGUIで操作するWeb UIツールが出てきています。やdockerui、shipyardあたりが有名です。これらのツールの日本語での紹介記事をまとめてみます。
[関連リンク]
・dockerのWeb UI 3種類を比較してみた – @znz blog
《dockerui(どっかーゆーあい)》
名前の通りDockerのUIツール。Docker社のMichael Crosby氏が作成しています。
[関連リンク]
・DockerUIを動かした – hentekoのdev日記
・Docker上でDockerUIを試してみる – cpw’s diary
《Shipyard(しっぷやーど)》
こちらもDockerにUIを追加するツール。ちなみに名前でもある「Shipyard」の意味は「造船所」。
[関連リンク]
・Vagrant内のCentOS6.5にてDockerのWebUIであるShipyardを使ってみる – Qiita
・Ubuntu14.04にShipyardとDockerUIをインストール – Qiita
《OS、コンテナ管理ツール》
《CoreOS(こあおーえす)》
CoreOSは「Docker専用のLinux」とも言われる、軽量のLinuxディストリビューションです。OSと同じ名前のCoreOS社が開発をしています。
CoreOSの特徴は「小さい」「アプリケーションはコンテナ上でのみ動作させるように設計」「クラスタリング機能」といった点が特徴です。「アプリケーションはコンテナ上でのみ動作させるように設計」というところから「Docker専用のLinux」と言われるようになったのでしょう。
詳細については、 Yutaka Matsubara氏によるCoreOS入門をご覧下さい。
ちなみに、インストールについては、色々とクセがあるようでして、国内のVPS、クラウド(=IaaS)では工夫が必要となるようです。こちらについても下記の関連リンクにまとめております。
[関連リンク]
・CoreOS is Linux for Massive Server Deployments
・クラウドとデータセンター向けのLinux「CoreOS」–コンテナを採用した軽量OS – ZDNet Japan
・さくらのクラウドでCoreOSを動かしてみた – Dマイナー志向
・さくらのVPSにCoreOSをインストールしてDocker専用機にする – Qiita
・(ちょっと自動で)さくらのVPSにCoreOSを入れるメモ – Qiita
《Kubernetes(くーばーねいてぃす/くーべるねいてぃす)》
kubernetesは、Googleが発表したDockerコンテナクラスタ管理ツール。現在はGoogleのIaaSである「Google Compute Engine」上で開発されていますが、先日「Kubernetes」の開発にMicrosoftなどが参加することなったため、Google以外のプラットフォームで利用が進んでいくでしょう。
ちなみにKubernetesはギリシャ語で「操舵手」という意味だそうです。
[関連リンク]
・GoogleCloudPlatform/kubernetes
・メモ:Google製DockerクラスタツールKubernetes – Qiita
・Dockerコンテナ管理ツール「Kubernetes」開発にMicrosoftらが参加へ | SourceForge.JP Magazine
《Drone(どろーん)》
CI(継続的インテグレーション)のSaaSを提供しているdrone.ioのオープンソース版がリリースされています。このオープンソース版はDockerをプラットフォームとして動作します。
[関連リンク]
・Drone and Docker, Open Source CI ? drone.io
・drone.ioを使ってテストする (Redmine Plugin編) – Qiita
・Docker + Drone でCI [その2 IRC通知編] – require `らくがき帳`
・Docker/Drone を CentOS 6.5 で動かして Github Enterprise のリポジトリをテストする – TAKUMI SAKAMOTO’S BLOG
・Droneのオープンソース版を試してみました。 – Yosssi’s blog
・CI(継続的インテグレーション)サービスまとめ・14個! – atskimura-memo
《ホスティング》
Dockerの人気をうけてOrchardやStackdock、Tutumといった、Docker専用のホスティングサービスも登場しています。価格を見るとちょうどIaaSの安い仮想サーバと同程度の価格ですね。
また、Dockerの「プライベートレポジトリ」をホスティングをするQuay.ioというサービスもあります。
[関連リンク]
・Orchard | Instant Docker hosts in the cloud
・Stackdock – Docker hosting on blazing fast dedicated infrastructure
・Docker Hosting — Run Docker Containers in the Cloud – Tutum
・Hosted Private Docker Registry ? Quay.io
《まとめ》
というわけで、いくつかDocker専用ツールをまとめてみました。Dockerの盛り上がりによって、もっと色々なDocker専用ツールが出てくると思われますが、現在のところはこれらのツールが注目を集めているようです。もっと、色々なDocker専用ツールを探したい方は、下記のリンク先に色々と掲載されているので、そちらを確認してみてください。
・Top 10 Open-Source Docker Developer Tools | CenturyLink Labs