ホームページ  >  記事  >  データベース  >  Docker の別のコンテナから MySQL コンテナに接続するにはどうすればよいですか?

Docker の別のコンテナから MySQL コンテナに接続するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 00:20:02997ブラウズ

How to Connect to a MySQL Container from Another Container in Docker?

別のコンテナから MySQL コンテナに接続する

MySQL を実行し、ポート 3306 を公開する Docker コンテナを設定しましたが、どうすればよいでしょうか?別のコンテナからそのデータベースにアクセスしますか?

IP アドレスを使用

最初に、MySQL コンテナの IP アドレス (172.17.0.2) を使用して接続しようとしました。これは機能しますが、IP アドレスは変更される可能性があるため理想的ではありません。

ユーザー定義のネットワーク

より良い方法は、ユーザー定義のネットワークを使用してコンテナを接続することです。ネットワークを作成し、MySQL コンテナと PHP コンテナの両方をそれに接続できます。

docker network create my_network

コンテナのリンク

同じネットワーク上で両方のコンテナを実行し、ネットワークを提供します--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");

結論

ユーザー定義のネットワークは、より堅牢で柔軟な接続方法を提供します。 Docker のコンテナ。コンテナ名をホスト名として使用すると、アクセスが簡素化され、IP アドレスに依存する必要がなくなります。

以上がDocker の別のコンテナから MySQL コンテナに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。