如何從 Docker 容器連接到本機託管的 MySQL 資料庫?

Susan Sarandon
發布: 2024-10-26 18:42:30
原創
194 人瀏覽過

How to Connect to a Locally Hosted MySQL Database from a Docker Container?

從Docker 容器連接到本地託管的MySQL 資料庫

將應用程式過渡到生產環境時,最好避免使用容器-託管資料庫.本文介紹如何使用 Docker Compose 將本機 MySQL 資料庫連接到在容器中執行的應用程式。

Docker Compose 配置

您提供的 Docker Compose 配置示範如何使用MySQL 資料庫的單獨「app-db」服務。要連接到本機MySQL 資料庫,請如下調整Compose 檔案:

<code class="yaml">version: '3'
services:
  web-app:
    ...

  app-db:
    image: mysql:8
    environment:
    - MYSQL_ROOT_PASSWORD=password
    - MYSQL_DATABASE=<database-name>
    ports:
      - 3306:3306</code>
登入後複製

透過主機名稱連線

而不是使用'localhost',它指的是容器的內部主機名,使用「host.docker.internal」。這將解析為 Docker 主機的 IP 位址,使您能夠連接到本機資料庫。

Linux 設定

Linux 系統,啟動Docker 時加入下列參數容器:

<code class="bash">--add-host host.docker.internal:host-gateway</code>
登入後複製

在您的Web 應用程式中,將資料庫連線資訊替換為使用「host.docker.internal」而不是「localhost」。例如:

透過實作這些更改,您可以成功將本機 MySQL 資料庫連接到在 Docker 容器中執行的應用程式。
db = mysql.connector.connect(
    host="host.docker.internal",
    ...
)
登入後複製

以上是如何從 Docker 容器連接到本機託管的 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!