Heim  >  Artikel  >  Datenbank  >  Wie kann ich von einem anderen Container aus zuverlässig eine Verbindung zu einem MySQL-Container herstellen?

Wie kann ich von einem anderen Container aus zuverlässig eine Verbindung zu einem MySQL-Container herstellen?

DDD
DDDOriginal
2024-10-25 15:41:02984Durchsuche

How to Reliably Connect to a MySQL Container from Another Container?

Herstellen einer Verbindung zum MySQL-Container von einem anderen Container aus

Die Aufrechterhaltung einer Verbindung zwischen Containern kann in verteilten Systemen von entscheidender Bedeutung sein. Bei der Arbeit mit MySQL-Containern ist der Zugriff auf die Datenbank von einem anderen Container aus entscheidend.

Problemstellung:

Sie haben einen MySQL-Container erstellt, der Port 3306 freigibt. In einem anderen Container Sie versuchen, über ihre IP-Adresse auf diese Datenbank zuzugreifen. Sie halten diese Methode jedoch für unzuverlässig und suchen nach alternativen Host-Spezifikationsoptionen.

Lösung:

Das Legacy-Flag --link, das zum Verbinden von Containern verwendet wird, wird jetzt berücksichtigt veraltet. Stattdessen werden benutzerdefinierte Netzwerke empfohlen.

Um beide Container im selben Netzwerk zu verbinden:

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

Mechanismus:

Durch Platzierung beider Container im selben benutzerdefinierten Netzwerk („my_network“ in diesem Beispiel) können alle Container unter Verwendung des zugewiesenen Containernamens als Hostnamen miteinander kommunizieren.

Zum Beispiel, um auf den MySQL-Container in PHP zuzugreifen Um einen Container mit MySQLi zu erstellen, würden Sie Folgendes angeben:

$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");

Das obige ist der detaillierte Inhalt vonWie kann ich von einem anderen Container aus zuverlässig eine 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