コンテナ構成を変更せずにローカル MySQL データベースを Docker コンテナに接続するにはどうすればよいですか?
Oct 29, 2024 pm 04:36 PMローカル MySQL データベースを Docker コンテナに接続する
Docker 化されたセットアップを使用してアプリケーションを運用環境に移行する場合、コンテナベースの使用を避けたい場合があります。データベース。この記事では、コンテナのデータベース構成を変更せずに、ローカルでホストされている MySQL データベースを Docker コンテナ内で実行されているアプリケーションに接続する方法について説明します。
docker-compose.yml の変更
提供される docker-compose .yml ファイルには、コンテナ内の MySQL データベースを初期化する「app-db」という名前のサービスが含まれています。代わりにアプリケーションを外部 MySQL データベースに接続するには:
- docker-compose.yml ファイルから「app-db」サービスを削除します。
- に「environment」セクションを追加します。 「web-app」サービス。データベース接続の詳細が指定されます:
<code class="yaml">version: '3' services: web-app: build: context: . dockerfile: web-app/Dockerfile ports: - 8080:8080 environment: - MYSQL_HOST=host.docker.internal - MYSQL_PORT=3306 - MYSQL_USER=username - MYSQL_PASSWORD=password - MYSQL_DATABASE=database_name</code>
ホスト解決の確保
Linux システムの場合、Docker コンテナはホストのネットワーク構成から分離されます。 。 Web アプリケーションが host.docker.internal アドレスを解決できるようにするには、コンテナーを「--add-host host.docker.internal:host-gateway」パラメーターで開始する必要があります:
<code class="sh">docker run --add-host host.docker.internal:host-gateway ...</code>
これパラメーターにより、コンテナーが host.docker.internal をホストの IP アドレスに解決できることが保証されます。
外部データベースへの接続
変更された docker-compose.yml とコンテナー構成を適切に配置すると、 Web アプリケーションは、環境変数で指定されているように、ローカルでホストされている MySQL データベースに接続できる必要があります。
以上がコンテナ構成を変更せずにローカル MySQL データベースを Docker コンテナに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
