Heim  >  Artikel  >  Datenbank  >  Wie kann ich von einem anderen Container in Docker aus eine sichere Verbindung zu einem MySQL-Container herstellen?

Wie kann ich von einem anderen Container in Docker aus eine sichere Verbindung zu einem MySQL-Container herstellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 10:16:291002Durchsuche

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

Zugriff auf MySQL-Container von einem anderen Container aus

In einer Docker-Umgebung kann die Verbindung zu einer Datenbank, die in einem separaten Container gehostet wird, eine Herausforderung darstellen. Auch wenn die Verwendung der IP-Adresse des Containers für die Datenbankkonnektivität unkompliziert erscheint, birgt sie potenzielle Risiken und Einschränkungen.

Glücklicherweise bietet Docker durch benutzerdefinierte Netzwerke eine robustere Lösung. Indem Sie ein Netzwerk erstellen und sowohl die MySQL- als auch die Client-Container damit verbinden, können Sie eine zuverlässige und sichere Kommunikation zwischen ihnen herstellen.

Schritt 1: Erstellen Sie ein Netzwerk

Ausführen Geben Sie den folgenden Befehl ein, um ein benutzerdefiniertes Netzwerk mit dem Namen „my_network“ zu erstellen:

docker network create my_network

Schritt 2: Starten Sie den MySQL-Container

Starten Sie den MySQL-Container innerhalb des erstellten Netzwerks:

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

Schritt 3: Client-Container starten

In ähnlicher Weise starten Sie den Client-Container im selben Netzwerk:

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

Schritt 4: Datenbankkonnektivitätsskript

Innerhalb des Client-Containers können Sie Datenbankkonnektivität mithilfe des Hostnamens des MySQL-Containers herstellen:

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

Vorteile der Verwendung von User -Definierte Netzwerke

Die Verwendung benutzerdefinierter Netzwerke bietet mehrere Vorteile:

  • Auflösung von Hostnamen:Jeder Container im Netzwerk kann über Containernamen kommunizieren als Hostnamen.
  • Netzwerkisolation: Standardmäßig sind Container in verschiedenen Netzwerken isoliert und können nicht kommunizieren.
  • Sicherheit: Benutzerdefinierte Netzwerke ermöglichen eine detaillierte Darstellung Zugriffskontrolle und Isolierung, wodurch potenzielle Sicherheitslücken reduziert werden.

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

Stellungnahme:
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