2026年6月28日

2026年6月28日

Docker Composeのoverlayネットワークを設定する方法

はじめに

この記事では、Docker Composeを使用して overlay ネットワークを設定する方法について解説します。overlay ネットワークは、複数の Docker クラスタ間で共有される仮想ネットワークを作成し、コンテナ間での通信を容易にするための技術です。特に、開発環境や CI/CD 環境で複数のコンテナを管理する場合に有用です。

症状・背景

このテーマが必要になる主な場面は以下の通りです:

  • 一つ以上のコンテナ間で共有リソースやサービスを使用したい
  • 複数の Docker クラスタ間での通信が必要である
  • コンテナ間での安全な通信を確保する必要がある

手順・設定方法

ステップ1: overlay ネットワークを作成

# overlay ネットワークを作成します
docker network create --driver=overlay my_overlay_network

# 作成した overlay ネットワークの詳細を確認します
docker network inspect my_overlay_network

ステップ2: Docker Composeファイルで overlay ネットワークを使用する

# docker-compose.yml ファイルを作成し、overlay ネットワークを使用します
version: '3.8'
services:
  web:
    image: nginx:latest
    networks:
      - my_overlay_network
networks:
  my_overlay_network:
    external: true

ステップ3: overlay ネットワーク内のコンテナ間でサービスを共有

# Docker Compose を使用してサービスを起動します
docker-compose up -d

# overlay ネットワーク内のコンテナを確認します
docker ps --filter "network=my_overlay_network"

ステップ4: トラブルシュート/監視

# コンテナの状態を監視します
docker container ls -a

# overlay ネットワークの詳細情報を取得します
docker network inspect my_overlay_network

注意事項

  • overlay ネットワークは、同一クラスタ内でしか機能しないので注意が必要です。
  • 大規模なネットワーク構成では、パフォーマンス上の課題があるため、適切に設計することが重要です。
  • セキュリティ面でも注意し、必要に応じてネットワークのアクセス制御を設定する必要があります。

まとめ

1. overlay ネットワークを作成: docker network create --driver=overlay コマンドを使用します。

2. Docker Composeファイルで overlay 使用: external: true を指定することで外部に定義されたネットワークを利用できます。

3. コンテナ間サービス共有: overlay ネットワークを指定してサービスを起動すると、コンテナ間での通信が可能になります。

4. トラブルシュート/監視: コンテナの状態やネットワーク情報を確認することで問題を迅速に解決することが可能です。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ