„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich von einem anderen Container in Docker aus eine Verbindung zu einem MySQL-Container herstellen?

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

Veröffentlicht am 08.11.2024
Durchsuche:131

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

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

Sie haben einen Docker-Container eingerichtet, auf dem MySQL ausgeführt wird, und Port 3306 verfügbar gemacht, aber wie kann das gemacht werden? Greifen Sie von einem anderen Container aus auf diese Datenbank zu?

Verwenden der IP-Adresse

Zunächst haben Sie versucht, eine Verbindung über die IP-Adresse des MySQL-Containers (172.17.0.2) herzustellen. Dies funktioniert zwar, ist aber nicht ideal, da sich IP-Adressen ändern können.

Benutzerdefinierte Netzwerke

Ein besserer Ansatz besteht darin, benutzerdefinierte Netzwerke zum Verbinden von Containern zu verwenden. Sie können ein Netzwerk erstellen und sowohl die MySQL- als auch die PHP-Container daran anhängen.

docker network create my_network

Container verknüpfen

Führen Sie beide Container aus dasselbe Netzwerk, indem Sie den Netzwerknamen mit dem Flag --network angeben:

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

Innerhalb der Container in diesem Netzwerk können Sie Containernamen auflösen und über den Hostnamen eine Verbindung herstellen. Vom PHP-Container aus könnten Sie beispielsweise eine Verbindung zu MySQL herstellen mit:

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

Fazit

Benutzerdefinierte Netzwerke bieten eine robustere und flexiblere Möglichkeit, Container in Docker zu verbinden. Die Verwendung von Containernamen als Hostnamen vereinfacht den Zugriff und macht die Abhängigkeit von IP-Adressen überflüssig.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3