Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ich von einem Docker-Container aus eine Verbindung zu einer lokal gehosteten MySQL-Datenbank herstellen?

Susan Sarandon
Freigeben: 2024-10-26 18:42:30
Original
194 Leute haben es durchsucht

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

Herstellen einer Verbindung zu einer lokal gehosteten MySQL-Datenbank aus einem Docker-Container

Beim Übergang einer Anwendung zur Produktion ist es wünschenswert, die Verwendung des Containers zu vermeiden. gehostete Datenbank. In diesem Artikel wird beschrieben, wie Sie mithilfe von Docker Compose eine lokale MySQL-Datenbank mit einer Anwendung verbinden, die in einem Container ausgeführt wird.

Docker Compose-Konfiguration

Ihre bereitgestellte Docker Compose-Konfiguration demonstriert die Verwendung eines separaten „app-db“-Dienstes für die MySQL-Datenbank. Um stattdessen eine Verbindung zu einer lokalen MySQL-Datenbank herzustellen, passen Sie Ihre Compose-Datei wie folgt an:

<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>
Nach dem Login kopieren

Verbindung über Hostnamen herstellen

Anstatt „localhost“ zu verwenden, was sich auf bezieht Verwenden Sie für den internen Hostnamen des Containers „host.docker.internal“. Dies wird in die IP-Adresse des Docker-Hosts aufgelöst, sodass Sie eine Verbindung zu Ihrer lokalen Datenbank herstellen können.

Linux-Konfiguration

Fügen Sie für Linux-Systeme den folgenden Parameter hinzu, wenn Sie Docker starten Container:

<code class="bash">--add-host host.docker.internal:host-gateway</code>
Nach dem Login kopieren

Beispielverwendung

Ersetzen Sie in Ihrer Webanwendung die Datenbankverbindungsinformationen, um „host.docker.internal“ anstelle von „localhost“ zu verwenden. Zum Beispiel:

db = mysql.connector.connect(
    host="host.docker.internal",
    ...
)
Nach dem Login kopieren

Durch die Implementierung dieser Änderungen können Sie Ihre lokale MySQL-Datenbank erfolgreich mit Ihrer Anwendung verbinden, die in einem Docker-Container ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich von einem Docker-Container aus eine Verbindung zu einer lokal gehosteten MySQL-Datenbank herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!