swarm モード導入ガイド

このチュートリアルは Docker Engine Swarm モードの機能を紹介します。始める前に、よろしければ 重要な概念 に慣れておいてください。

チュートリアルは以下の作業を紹介します。

  • Docker Engine の swarm モードでクラスタを初期化
  • swarm にノードを追加
  • アプリケーション・サービスを swarm にデプロイ
  • swarm を使い始めた後の管理

このチュートリアルは、ターミナル・ウインドウのコマンドライン上で Docker Engine CLI コマンドを実行します。ネットワーク上のマシンに Docker をインストールし、コマンドを実行しやすい好みのシェルを選ぶべきでしょう。

Docker を初めて使う場合は、 Docker Engine について をご覧ください。

3台のネットワーク上のマシン

チュートリアルでは swarm のノードとしてネットワークにつながる3台のマシンを使います。マシンは PC 上の仮想マシン、データセンタ上のマシン、クラウドサービス事業者のマシンのどれでも構いません。このチュートリアルでは次のマシン名を使います。

  • manager1
  • worker1
  • worker2

Docker Engine 1.12 以上

各ホスト上に Docker Engine をインストールする必要があります。対象となるバージョンの Swarm を使うには、 Docker releases GitHub リポジトリ から Docker Engine v1.12.0-rc1 もしくは以降のバージョンをインストールします。あるいは、最新の Docker for Mac か Docker for Windows Beta を使います。

ヒント

マルチ・ノード機能は Docker for Mac Beta と Docker for Windows Beta では動作しない可能性があります。マルチ・ノード機能は一般リリース(GA)に向けて作業中です。

各マシン上で Docker Engine デーモンが稼働しているのを確認します。

マネージャ・マシンの IP アドレス

ホスト・オペレーティングシステムで利用可能なネットワーク・インターフェースに対し、 IP アドレスが割り当てられている必要があります。swarm 上の全てのノードは、この IP アドレスを使ってマネージャにアクセスします。

ちなみに

Linux や Mac OS X 上では ifconfig を実行したら、利用可能なネットワーク・インターフェースの一覧を表示します。

このチュートリアルでは manager1192.168.99.100 とします。

ホスト間のポートを開く

  • TCP ポート 2377 はクラスタ管理通信用
  • TCP・UDP ポート 7946 はノード間の通信
  • TCP・UDP ポート 4789 はオーバレイ・ネットワークの通信

ちなみに

Docker が推奨するのは、各ノードを同じレイヤ3(IP)サブネット上におき、ノード間で全てのトラフィックを許可する方法です。

次は何をしますか?

環境のセットアップを終えたら、 swarm を作成 する準備が整いました。

参考

Getting Started with swarm mode
https://docs.docker.com/engine/swarm/swarm-tutorial/