ローカル MySQL データベースを Docker コンテナに接続する
コンテナ化の領域では、Docker はアプリケーションを分離して管理するための強力なツールとして登場しました。ただし、アプリケーションを運用環境にデプロイする場合、Docker コンテナ内からローカル データベースに接続する方法という共通の課題が発生します。
問題:
Docker Compose を使用しているアプリケーションで、コンテナ独自のデータベースに依存せずにローカルの MySQL データベースに接続したいと考えています。
Docker Compose 構成:
docker-compose.yml ファイルWeb アプリとアプリ データベース コンテナーの両方のサービスが含まれています。 app-db コンテナには MySQL データベースが格納されていますが、ローカル MySQL インスタンスに接続するための代替ソリューションを探しています。
解決策:
ローカルの MySQL データベースと Docker コンテナでは、接続文字列の「localhost」を「host.docker.internal」に置き換えます。
追加の考慮事項:
Linux システムの場合、ホスト名の解決を容易にするために、「--add-host host.docker.internal:host-gateway」パラメーターを使用して Docker コンテナーを起動することが重要です。これにより、コンテナがローカルの MySQL データベースに確実にアクセスできるようになります。
結論:
「host.docker.internal」と前述の Linux パラメータを利用することで、シームレスにローカルの MySQL データベースを Docker コンテナに接続すると、効率的なデータベース アクセスが実現し、運用環境でのアプリケーションのパフォーマンスが向上します。
以上がローカルの MySQL データベースを Docker コンテナに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。