Permalink
Fetching contributors…
Cannot retrieve contributors at this time
134 lines (79 sloc) 8.85 KB

Docker Swarm 概要

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 クラスタ(訳注;"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 を使う方法が一番です。推奨する方法で進めるには、 :doc:`install-w-machine` をお読みください。

手動でのインストールや開発に対する貢献に興味があれば、 :doc:`install-manual` をご覧ください。

ディスカバリ・サービス

コンテナ内のサービスを動的に設定・管理するには、Docker Swarm とディスカバリ用のバックエンドを使います。利用可能なバックエンドに関する情報は、:doc:`ディスカバリ・サービスのドキュメント </swarm/discovery>` をお読みください。

高度なスケジューリング

高度なスケジューリングについては、:doc:`strategies(ストラテジ) </swarm/scheduler/strategy>`:doc:`filters(フィルタ) </swarm/scheduler/filter>` の各ドキュメントをお読みください。

Swarm API

:doc:`Docker Swarm API </swarm/swarm-api>`:doc:`Docker リモート API </engine/reference/api/docker_remote_api>` と互換性があります。そのため、新しいエンドポイントの追加時には、Swarm も同時にエンドポイントを拡張します。

ヘルプを得るには

Docker Swarm はまだ開発途上であり、活発に開発中です。ヘルプが必要な場合、貢献したい場合、あるいはプロジェクトの同志と対話したい場合のため、私たちは多くのコミュニケーションのためのチャンネルを開いています。

  • プロジェクトのメンバとリアルタイムに会話したければ、IRC の #docker-swarm チャンネルにご参加ください。

より詳細な情報やリソースについては、私たちの ヘルプ用ページ をご覧ください。

.. seealso::

   Docker Swarm overview
      https://docs.docker.com/swarm/overview/