Swarmクラスターのセットアップ
Docker Swarmを初期化し、マネージャーノードとワーカーノードを追加して、クラスターの状態を確認します。
「Swarmクラスターのセットアップ」はCoddyKit上の無料Docker & DevOps Fundamentalsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDocker & DevOps Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。
Docker Swarmのセットアップへようこそ!
コンテナをオーケストレーションする準備はできましたか?このレッスンでは、単一のDockerホストを強力なSwarmクラスターに変える方法を学びます。
Swarmを初期化し、新しいマシンをmanager nodeやworker nodeとして追加し、クラスターの健全性を確認する方法を説明します。

Swarmセットアップの前提条件
始める前に、次の準備ができていることを確認してください。
- Docker Desktop/Engine:使用するすべてのマシンにインストールされていること。
- ネットワークアクセス:すべてのマシンがネットワーク経由で相互に通信できること。
- ポートの開放:Docker Swarmでは通信に特定のポートを使用します。次のポートが開放されていることを確認してください。
TCP port 2377:クラスター管理の通信に使用します。TCP & UDP port 7946:コンテナネットワークのオーバーレイに使用します。UDP port 4789:オーバーレイネットワークのトラフィックに使用します。
最初のSwarmを初期化する
新しいSwarmを開始するには、最初のmanager nodeにするマシンを1台選びます。このノードがすべてのオーケストレーションタスクを処理します。
docker swarm initコマンドを使用して開始します。これにより、現在のDocker EngineがSwarm managerになります。
デフォルトでは、現在のマシンのIPアドレスが使用されます。必要に応じて、--advertise-addrを使って別のIPアドレスを指定できます。
デモ:Swarmを初期化する
新しいSwarmを初期化しましょう。選択したmanagerマシンで次のコマンドを実行してください。初期化後、その状態を確認します。
注:DockerがIPアドレスを正しく自動検出できない場合は、YOUR_MANAGER_IPを実際のマシンのIPアドレスに置き換える必要があります。
docker swarm init --advertise-addr YOUR_MANAGER_IP
docker node lsSwarmのノードロールを理解する
Docker Swarmでは、ノードにそれぞれ異なるロールがあります。
- Manager Nodes:Swarmの中枢です。クラスターを管理し、サービスをオーケストレーションし、アプリケーションの望ましい状態を維持します。高可用性を実現するため、通常は複数のmanagerを配置します。
- Worker Nodes:実際のコンテナ化されたアプリケーションが実行されるノードです。manager nodeからタスクを受け取り、実行します。
1つのノードがmanagerとworkerの両方を兼ねることもできます。
SwarmにWorker Nodeを追加する
Swarmを初期化したら、さらにマシンをworker nodeとして追加できます。これにより、コンテナを実行するクラスターの容量を拡張できます。
docker swarm initを実行すると、docker swarm join --token のようなコマンドが出力されます。このコマンドを他のマシンで実行すると、それらをworkerとして参加させられます。
tokenは認証とセキュリティに不可欠です。
デモ:Workerの参加コマンド
これは、別のマシン(workerとして使用するマシン)で実行してSwarmに参加させるコマンドの例です。SWMTKN-...を実際のtokenに、MANAGER_IPをmanagerのIPアドレスに置き換えてください。
注:このコマンドは複数マシンの構成が必要なため、この環境では直接実行できません。説明用の例です。
docker swarm join \
--token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
192.168.1.100:2377Swarmクラスターの状態を確認する
ノードを追加した後は、正常にSwarmへ参加できていることを確認するのがよい習慣です。
任意のmanager nodeでdocker node lsコマンドを使用すると、Swarm内のすべてのノード、その状態、可用性、ロールを確認できます。
ノードを完全に稼働させるには、STATUSがReady、AVAILABILITYがActiveになっている必要があります。
クイックチェック:Swarmの初期化
新しいDocker Swarmをセットアップすることにしました。最初のホストマシンを初期manager nodeにするには、どのコマンドを使用しますか?
振り返り:Swarmをセットアップする
よくできました!Docker Swarmクラスターのセットアップに必要な基本事項を学びました。
docker swarm init:新しいSwarmを作成し、現在のマシンを最初のmanagerに指定します。docker swarm join:既存のSwarmに他のマシンをworkerまたはmanager nodeとして追加します。docker node ls:Swarmクラスター内のすべてのノードの状態とロールを確認できます。
これらのコマンドを使えば、コンテナ化されたアプリケーションをオーケストレーションするための堅牢な基盤を構築できます。
よくある質問
「Swarmクラスターのセットアップ」レッスンは無料ですか?
はい。「Swarmクラスターのセットアップ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Docker & DevOps Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。
「Swarmクラスターのセットアップ」で何を学びますか?
Docker Swarmを初期化し、マネージャーノードとワーカーノードを追加して、クラスターの状態を確認します。 ブラウザで直接実行するハンズオンコードでDocker & DevOps Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Docker & DevOps Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDocker & DevOps Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Swarmクラスターのセットアップ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDocker & DevOps Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのDocker & DevOps Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Docker Swarm入門
- Swarmクラスターのセットアップ
- Swarmへのサービスのデプロイ
- Swarmでのスケーリングとローリングアップデート