はじめに
Docker は強力なコンテナ化プラットフォームで、アプリケーションを一貫性のある再現可能な方法でパッケージ化してデプロイすることができます。Docker の重要な機能の 1 つにネットワーキング機能があり、カスタムブリッジネットワークを作成する機能も含まれています。このチュートリアルでは、カスタム Docker ブリッジネットワークを作成し、コンテナをそれに接続する方法を学び、アプリケーションコンポーネント間の安全で効率的な通信を可能にします。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Docker は強力なコンテナ化プラットフォームで、アプリケーションを一貫性のある再現可能な方法でパッケージ化してデプロイすることができます。Docker の重要な機能の 1 つにネットワーキング機能があり、カスタムブリッジネットワークを作成する機能も含まれています。このチュートリアルでは、カスタム Docker ブリッジネットワークを作成し、コンテナをそれに接続する方法を学び、アプリケーションコンポーネント間の安全で効率的な通信を可能にします。
Docker コンテナは軽量で分離されるように設計されていますが、依然として互いに通信し、外部とも通信する必要があります。Docker はこの通信を容易にするためのいくつかのネットワーキングオプションを提供しており、その 1 つが Docker ブリッジネットワークです。
Docker ブリッジネットワークは、同じホスト上で実行されている Docker コンテナを接続する仮想ネットワークです。これは Docker コンテナのデフォルトのネットワークタイプであり、コンテナがコンテナ名または IP アドレスを使用して互いに通信できるようにします。
新しい Docker コンテナを起動すると、自動的に bridge
という名前のデフォルトのブリッジネットワークに接続されます。このネットワークは Docker によって作成され、Docker デーモンによって管理されます。bridge
ネットワークは単純なユースケースには適していますが、異なるホスト間のコンテナを簡単に接続できないなど、いくつかの制限があります。
これらの制限を克服するために、カスタム Docker ブリッジネットワークを作成することができます。カスタムブリッジネットワークにはいくつかの利点があります。
bridge
ネットワーク上のコンテナから分離されるため、セキュリティが向上し、意図しない相互作用のリスクが低減されます。カスタム Docker ブリッジネットワークを作成するには、docker network create
コマンドを使用できます。カスタムネットワークが作成されたら、新しいコンテナを起動するときに --network
フラグを使用するか、docker network connect
コマンドを使用して既存のコンテナをネットワークに接続することで、コンテナをそれに接続できます。
上の図では、Docker デーモンによって作成されたデフォルトの bridge
ネットワークとカスタムブリッジネットワークを見ることができます。コンテナ 1 と 2 はデフォルトの bridge
ネットワークに接続されており、コンテナ 3 と 4 はカスタムブリッジネットワークに接続されています。
カスタム Docker ブリッジネットワークを作成するには、docker network create
コマンドを使用できます。基本的な構文は次のとおりです。
docker network create [OPTIONS] NETWORK
カスタム Docker ブリッジネットワークを作成する手順は次のとおりです。
ターミナルを開き、次のコマンドを実行して、「my-custom-network」という名前のカスタムブリッジネットワークを作成します。
docker network create my-custom-network
これにより、デフォルト設定で新しいブリッジネットワークが作成されます。
docker network ls
コマンドを使用して、利用可能なすべての Docker ネットワークを一覧表示できます。
docker network ls
出力には、新しい「my-custom-network」ブリッジネットワークが含まれているはずです。
ネットワークを作成するときに追加のオプションを指定することで、ネットワーク構成をカスタマイズできます。たとえば、特定のサブネットとゲートウェイを持つネットワークを作成するには、次のようにします。
docker network create --subnet 172.18.0.0/16 --gateway 172.18.0.1 my-custom-network
これにより、特定のサブネットとゲートウェイを持つカスタムブリッジネットワークが作成されます。
docker network inspect
コマンドを使用して、カスタムネットワークの詳細を確認できます。
docker network inspect my-custom-network
これにより、サブネット、ゲートウェイ、その他の詳細を含むネットワーク構成が表示されます。
カスタム Docker ブリッジネットワークを作成することで、Docker ベースのアプリケーションの分離性、整理性、および拡張性を向上させることができます。
カスタム Docker ブリッジネットワークを作成した後、コンテナをそれに接続することができます。これを行う方法は 2 つあります。
新しいコンテナを起動するときに、--network
フラグを指定してカスタムネットワークに接続することができます。たとえば、新しいコンテナを起動して「my-custom-network」ネットワークに接続するには、次のようにします。
docker run -d --name my-app --network my-custom-network nginx
これにより、新しい Nginx コンテナが起動し、「my-custom-network」ブリッジネットワークに接続されます。
docker network connect
コマンドを使用して、既存のコンテナをカスタムネットワークに接続することもできます。たとえば、「my-app」という名前の既存のコンテナを「my-custom-network」ネットワークに接続するには、次のようにします。
docker network connect my-custom-network my-app
コンテナをカスタムネットワークに接続した後、同じネットワーク上の他のコンテナから、コンテナ名またはネットワーク内の IP アドレスを使用してアクセスすることができます。
上の図では、カスタムの「my-custom-network」ブリッジネットワークに接続された 3 つのコンテナを見ることができます。これらのコンテナは、コンテナ名またはネットワーク内の IP アドレスを使用して互いに通信することができます。
コンテナをカスタム Docker ブリッジネットワークに接続することで、Docker ベースのアプリケーションの分離性、整理性、および拡張性を向上させることができます。
このチュートリアルでは、カスタム Docker ブリッジネットワークを作成し、コンテナをそれに接続し、Docker アプリケーションにカスタムネットワークを使用することの利点を活用する方法を学びました。カスタム Docker ブリッジネットワークを理解して実装することで、コンテナ化されたサービス間のセキュリティ、分離性、および通信を向上させることができ、より堅牢で拡張性の高い Docker ベースのインフラストラクチャを構築することができます。