tkhrsskの日記

技術ネタなど

Docker 公式オーケストレーションツール(Machine, Swarm, Compose)

2014/12/4に、Docker公式で発表されたオーケストレーションツール

  • Docker Machine
  • Docker Swarm
  • Docker Compose

について、理解したことと、参考サイトをメモ。

■公式発表記事

Announcing Docker Machine, Swarm, and Compose for Orchestrating Distributed Apps | Docker Blog

全然関係ないけど、記事内にある英語のa.k.a.は、also known asの略で、"~で知られている"という意味だそうな。別名とか、通称とか、ニックネーム・あだ名という意味も。

cloud native, microservices architecture, twelve-factor apps あたりは、さらっと説明できるといいですね。。

Cloud Native at Netflix: What Changed? - Gartner Catalyst 2013

Microservices

The Twelve-Factor App(日本語訳)

  • 日本語の記事

AWS、Azure、SoftLayerの名前も:Dockerが新機能・サービスを続々発表、主要クラウドプレーヤーとの距離も緊密に - @IT

Docker Machine

仮想マシン(VirtualBox)や、クラウド(Azure、EC2、Digital Ocean)上に、Dockerが動く環境を作るツール? 導入を容易にするものかな。別にインストールすればいい話にも思えるけど。

docker machine/swarm を使ってみる - Cloud Penguins

Docker MachineでDigital OceanにDocker環境を構築する - Qiita

Docker Swarm

複数ホスト上に、コンテナを起動するクラスタを作ることができる。

手順としては、

  1. クラスタを作る swarm create
  2. ノード(ホスト)をクラスタに紐づける swarm join
  3. マネージャーを起動する swarm manage
  4. DOCKER_HOSTをマネージャーのポートに設定して、docker run

これで、クラスタに紐づいたノードに、分散されてコンテナが起動するらしい。 スケジューリングとか呼ばれるものは、まだまだ制限が多いみたい。

Docker Swarmでクラスタを構築する - Qiita

Docker Compose

Dockerが買収したfigそのもの(?)。 YAMLでコンテナ(複数コンテナ可)の構成をgroup.ymlを記述して、docker upすれば、 対象のコンテナが立ち上がる。

Docker Compose を試す - Qiita

まとめ

現時点の情報だと、まだまだ開発途上という感じがします。

蛇足

オーケストレーションツール絡みで、 rebuildで話に出てた、HashiCorpのConsulも気になる今日この頃。

Consulを使ってみた | Pocketstudio.jp log3

Serf / Consul 入門 ~仕事を楽しくしよう~

オーケストレーション入門 – 多種多様化するサービスをConsulで連携させる | GREE Engineers' Blog

3分でまとめ読むSerfとConsulの基本機能 – Gunosy Tech Blog

SerfとConsulの記事まとめ - Qiita