Docker 環境では、別のコンテナから MySQL コンテナに接続する必要が生じる場合があります。 MySQL コンテナの IP アドレスを使用して接続を確立することは可能ですが、このアプローチには柔軟性がありません。アクセシビリティを向上させるために、代替方法が存在します。
推奨される解決策の 1 つは、ユーザー定義のネットワークを利用することです。この方法には、従来の --link フラグに比べていくつかの利点があります。
ユーザー定義のネットワークを利用するには、次の手順に従います。
docker network create my_network
docker run -d --name php_container --network my_network my_php_image docker run -d --name mysql_container --network my_network my_mysql_image
コンテナーが同じネットワーク上で実行されている場合、互いのコンテナー名をホスト名として使用して通信できます。このシナリオでは、PHP コンテナは次のコードを使用して MySQL コンテナへの接続を確立できます:
<code class="php">$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");</code>
ユーザー定義のネットワークを活用することで、IP に依存せずにシームレスなコンテナ間通信を実現できます。アドレスを指定し、柔軟性を向上させ、Docker 環境の構成を簡素化します。
以上がIP アドレスなしで Docker 内の他のコンテナから MySQL コンテナにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。