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
- 日本語の記事
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
複数ホスト上に、コンテナを起動するクラスタを作ることができる。
手順としては、
- クラスタを作る
swarm create
- ノード(ホスト)をクラスタに紐づける
swarm join
- マネージャーを起動する
swarm manage
DOCKER_HOST
をマネージャーのポートに設定して、docker run
これで、クラスタに紐づいたノードに、分散されてコンテナが起動するらしい。 スケジューリングとか呼ばれるものは、まだまだ制限が多いみたい。
Docker Swarmでクラスタを構築する - Qiita
Docker Compose
Dockerが買収したfigそのもの(?)。
YAMLでコンテナ(複数コンテナ可)の構成をgroup.yml
を記述して、docker up
すれば、
対象のコンテナが立ち上がる。
まとめ
現時点の情報だと、まだまだ開発途上という感じがします。
蛇足
オーケストレーションツール絡みで、 rebuildで話に出てた、HashiCorpのConsulも気になる今日この頃。
Consulを使ってみた | Pocketstudio.jp log3
オーケストレーション入門 – 多種多様化するサービスをConsulで連携させる | GREE Engineers' Blog