参考訳です。
原文:https://docs.docker.com/swarm/
Docker Swarm
Docker Swam (Swarm = 群れ、大群)とは Docker に対応する純正クラスタリングです。Docker ホストのプール(集まり)を、作成したりアクセスできます。そのホストには Docker ツール群一式が揃っています。Docker Swarm は標準 Docker API を扱えるので、既に Docker デーモンと通信できるツールを使い、Swarm で複数のホストへ透過的にスケールできます。サポートしているツールは以下のものですが、これだけに限定されるものではありません:
- Dokku
- Docker Compose
- Krane
- Jenkins
そして、もちろん Docker クライアント自身もまたサポートされています。
他の Docker プロジェクトのように、Docker Swarm は "swap, plug, and play"(交換して、取り付けて、実行)の原理に従います。開発初期においては、API はバックエンドと接続可能(pluggable)なように、開発することに落ち着きました。つまり、スケジューリングのバックエンドを任意なものから、Docker Swarm に置き換えられることを意味します。Swarm は交換可能な設計です。そのため、多くのユース・ケース(事例)において、スムーズに独創的な経験を提供します。また、Mesos のような、より強力なバックエンドに取り替えて、大規模なプロダクション(本番環境)へのデプロイもできるようになります。
メモ:現時点の Swarm はベータ版なので、記述内容を変更する可能性があります。そのため、本番環境における利用はまだ推奨しません。
Swarm クラスタ作成を理解する
自分のネットワーク上で Swarm クラスタ(訳注;原文では"swarm"=群れ、と書かれていますが、日本語では抽象的なため、以下"Swarm クラスタ"と訳しています)を形成するには、まず Docker Swarm イメージを取得します。それから Docker を使い、swarm manager の設定と全てのノードで Docker Swarm を実行します。この手順で必要となるのは:
o
- swarm manager と各々のノードと通信ができるよう TCP ポートを開く
- 各々のノードに Docker をインストールする
- クラスタを安全にするため、TLS 証明書を作成・管理する
利用開始の時点では、実験的な管理や Docker Swarm へのプログラミングの貢献のために、手動で行うのはベストな方法です。別の方法としては、docker-machine
を使って swarm をインストールする方法もあります。
Docker Machine を使えば、Docker Swarm をクラウド・プロバイダや自分のデータセンタに素早くインストールできます。ローカルのマシン上に VirtualBox をインストールしていれば、ローカル環境上で Docker Swarm を素早く構築し、試すことができます。Docker Machine はクラスタを安全にするため、自動的に証明書を生成します。
始めて Docker Swarm を使うのであれば、Docker Machine を使って始める方法が一番です。推奨する方法で使って見るには、Get Started with Docker Swarm(Docker Swarmをはじめましょう) をお読みください。
もし手動のインストールや貢献に興味があれば、Create a swarm for development(開発用の swarm を作成)をお読みください。
サービスのディスカバリ(発見)
コンテナ内のサービスを動的に設定・管理するには、Docker Swarm とディスカバリ用のバックエンドを使います。利用可能なバックエンドに関する情報は、Discovery Service(サービスの発見)ドキュメントをお読みください。
高度なスケジューリング
高度なスケジューリングについては、strategies(ストラテジ) と filetes(フィルタ )のドキュメントをお読みください。
Swarm API
Docker Swarm API は Docker remote API と互換性があるので、新しいエンドポイントができたときは、同時に機能拡張されます。
ヘルプを得るには
Docker Swarm はまだ初期段階であり、活発に開発中です。ヘルプが必要であれば、コントリビューターや、プロジェクトで同じことを考えている個人に話しかけてください。私達はコミュニケーションのためのチャンネルをオープンにしています。
-
バグや機能リクエスト:GitHub の issue trackerをお使いください。
-
プロジェクトの方とリアルタイムに話したい:IRC の
#docker-swarm
チャンネルに参加ください。 -
コードの貢献やドキュメントの変更:GitHub 上でプルリクエストをください。
より詳細な情報やリソースについては、Getting Help project page をご覧ください。
関連 Qiita
DockerSwarm - Docker Swarm: Docker Swam を始めましょう - Qiita
http://qiita.com/zembutsu/items/d4db18c0f12356f11112
DockerSwarm - Docker Swarm: 開発用の Swam クラスタの作成 - Qiita
http://qiita.com/zembutsu/items/9edb9b40b8e7201c9fae
DockerSwarm - Docker Swarm: ディスカバリ - Qiita
http://qiita.com/zembutsu/items/d1ab2a23e0bf1507975d
DockerSwarm - Docker Swarm: フィルタ - Qiita
http://qiita.com/zembutsu/items/cee53ce370b0c13149e5
DockerSwarm - Docker Swarm: Strategies(ストラテジ) - Qiita
http://qiita.com/zembutsu/items/c89e138196a34da28919