Docker コンテナ ネットワークにより、複数のコンテナが同じネットワーク上で相互に通信できるようになり、PHP フレームワーク アプリケーションを効率的にデプロイするための鍵となります。この記事では、コンテナ間をシームレスに接続するためのDockerネットワークの設定方法を詳しく紹介します。
Docker は、さまざまなシナリオに適した複数のネットワーク モードを提供します。
Laravel PHP フレームワーク アプリケーションをデプロイし、MySQL データベース コンテナと通信する必要があるとします。構成にはブリッジ ネットワークを使用します。
docker ネットワークが私のネットワークを作成する
docker run -d --name db --network my-network mysql
docker run -d --rm --name laravel --network my-network laravel:8.0
この時点で、Laravel コンテナはdbを通じて MySQL コンテナにアクセスできるようになります。
Laravel アプリケーションに外部からアクセスできるようにするには、コンテナ ポートを公開する必要があります。
ドッカーポートlaravel 80
これにより、Laravel コンテナのポート 80 が公開されます。
次のコマンドを使用してコンテナ間の通信を確認します。
docker exec laravel ping db
次のようなメッセージが表示されれば、通信は正常です。
PING db (172.17.0.2) 56(84) バイトのデータ。 172.17.0.2 からの 64 バイト: icmp_seq=1 ttl=64 time=0.065 ミリ2番
Docker コンテナ ネットワークを正しく構成することで、PHP フレームワーク アプリケーションとデータベース コンテナ間の効率的な相互接続を実現できます。 Docker ネットワークは、アプリケーションの分離を保証するだけでなく、コンテナ間の信頼性の高い通信を保証し、開発とデプロイのための安定した環境を提供します。