目次
Docker Swarm は Docker に対応するネイティブなクラスタリング用ツールです。Docker Swarm は標準 Docker API で操作できます。そのため、Docker ホスト群を集め、1つの仮想 Docker ホストとして扱えます。既に Docker デーモンと通信可能なツールであれば、Swarm を使うだけで、意識せずに複数のホストにスケール可能になります。以下のツールをサポートしていますが、これだけに限りません。
- Dokku
- Docker Compose
- Krane
- Jenkins
そしてもちろん、swarm は Docker クライアントでの操作もサポートします。
他の Docker プロジェクトと同様に、Docker Swarm は "swap, plug, and play"(交換して、取り付けて、実行)の原理に従います。開発初期においては、API はバックエンドを取り替え可能(pluggable)となるよう開発する方針に落ち着きました。つまり、Docker Swarm が利用するスケジューリングのバックエンドとは、任意に置き換え可能であるのを意味します。Swarm の取り替え可能な設計により、多くの場面でスムーズかつ独創的な体験を提供します。また、Mesos のような、より強力なバックエンドに取り替えれば、大規模なプロダクション(本番環境)へのデプロイも可能となります。
自分のネットワーク上で Swarm クラスタ(訳注;"Swarm"=群れ、の意味)を形成するには、まず Docker Swarm イメージを取得します。それから Docker で Swarm マネージャを設定し、Docker Swarm を実行したい全てのノードを設定します。この作業には以下の手順が必要です。
- Swarm マネージャと各々のノードと通信ができるよう TCP ポートを開く
- 各々のノードに Docker をインストールする
- クラスタを安全にするため、TLS 証明書を作成・管理する
管理者が経験を積むため、あるいはプログラマが Docker Swarm に貢献するために、手動でのインストールは最適な方法です。あるいは、docker-machine
を使って Swarm をインストールする方法もあります。
Docker Machine を使えば、Docker Swarm をクラウド・プロバイダや自分のデータセンタに素早くインストールできます。ローカルのマシン上に VirtualBox をインストールしていれば、ローカル環境上で Docker Swarm を素早く構築し、試すことができます。Docker Machine はクラスタを安全にするために、証明書を自動生成します。
初めて Docker Swarm を使うのであれば、Docker Machine を使う方法が一番です。推奨する方法で進めるには、 install-w-machine
をお読みください。
手動でのインストールや開発に対する貢献に興味があれば、 install-manual
をご覧ください。
コンテナ内のサービスを動的に設定・管理するには、Docker Swarm とディスカバリ用のバックエンドを使います。利用可能なバックエンドに関する情報は、ディスカバリ・サービスのドキュメント </swarm/discovery>
をお読みください。
高度なスケジューリングについては、strategies(ストラテジ) </swarm/scheduler/strategy>
と filters(フィルタ) </swarm/scheduler/filter>
の各ドキュメントをお読みください。
Docker Swarm API </swarm/swarm-api>
は Docker リモート API </engine/reference/api/docker_remote_api>
と互換性があります。そのため、新しいエンドポイントの追加時には、Swarm も同時にエンドポイントを拡張します。
Docker Swarm はまだ開発途上であり、活発に開発中です。ヘルプが必要な場合、貢献したい場合、あるいはプロジェクトの同志と対話したい場合のため、私たちは多くのコミュニケーションのためのチャンネルを開いています。
- バグ報告や機能リクエストは、 GitHub の issue トラッカー をご利用ください。
- プロジェクトのメンバとリアルタイムに会話したければ、IRC の
#docker-swarm
チャンネルにご参加ください。
- コードやドキュメントの変更に貢献したい場合は、GitHub でプルリクエスト をお送りください。
より詳細な情報やリソースについては、私たちの ヘルプ用ページ をご覧ください。
- Docker Swarm overview