別のコンテナから MySQL コンテナに接続
MySQL を実行し、ポート 3306 を公開する Docker コンテナを設定しましたが、どうすればよいですか別のコンテナからそのデータベースにアクセスしますか?
IP を使用していますか?アドレス
最初は、MySQL コンテナの IP アドレス (172.17.0.2) を使用して接続を試みました。これは機能しますが、IP アドレスは変更される可能性があるため理想的ではありません。
ユーザー定義のネットワーク
より良いアプローチは、ユーザー定義のネットワークを使用してコンテナを接続することです。ネットワークを作成し、MySQL コンテナと PHP コンテナの両方をそれに接続できます。
docker network create my_network
Linking Containers
両方のコンテナを実行します同じネットワーク。 --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 に接続できます:
$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");
結論
ユーザー定義のネットワークは、コンテナを接続するためのより堅牢かつ柔軟な方法を提供します。ドッカー。コンテナ名をホスト名として使用すると、アクセスが簡素化され、IP アドレスに依存する必要がなくなります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3