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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 10:16:291002ブラウズ

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

別のコンテナから MySQL コンテナにアクセスする

Docker 化された環境では、別のコンテナでホストされているデータベースに接続するときに問題が発生する可能性があります。データベース接続にコンテナの IP アドレスを使用するのは簡単そうに見えますが、潜在的なリスクと制限が生じます。

幸いなことに、Docker はユーザー定義のネットワークを通じて、より堅牢なソリューションを提供します。ネットワークを作成し、MySQL コンテナとクライアント コンテナの両方をそれに接続すると、それらの間で信頼性が高く安全な通信を確立できます。

ステップ 1: ネットワークを作成する

実行次のコマンドを使用して、「my_network」という名前のカスタム ネットワークを作成します。

docker network create my_network

ステップ 2: MySQL コンテナを起動します

作成したネットワーク内で MySQL コンテナを起動します。

docker run -d --name mysql_container --network my_network my_mysql_image

ステップ 3: クライアント コンテナを起動します

同様に、同じネットワーク上でクライアント コンテナを起動します:

docker run -d --name php_container --network my_network my_php_image

ステップ 4: データベース接続スクリプト

クライアント コンテナ内で、MySQL コンテナのホスト名を使用してデータベース接続を確立できます。

<code class="php">$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");</code>

ユーザーを使用する利点-定義されたネットワーク

ユーザー定義のネットワークを使用すると、次のような利点があります。

  • ホスト名解決: ネットワーク上の各コンテナは、コンテナ名を使用して通信できます。
  • ネットワーク分離: デフォルトでは、異なるネットワーク上のコンテナは分離され、通信できません。
  • セキュリティ: カスタム ネットワークにより、きめ細かなセキュリティが可能になります。アクセス制御と隔離により、潜在的なセキュリティ脆弱性が軽減されます。

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

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