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
を実行したら、利用可能なネットワーク・インターフェースの一覧を表示します。
このチュートリアルでは manager1
を 192.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/