Herstellen einer Verbindung zu MySQL in einem Docker-Container vom Host aus
Problembeschreibung:
Wann Beim Versuch, vom Hostcomputer aus eine Verbindung zu einer MySQL-Datenbank herzustellen, die in einem Docker-Container ausgeführt wird, wird die Fehlermeldung angezeigt: „Es kann keine Verbindung zum lokalen MySQL-Server über den Socket hergestellt werden.“ '/var/run/mysqld/mysqld.sock'".
Docker-Datei:
Die folgende Docker-Datei wird zum Erstellen des MySQL-Containers verwendet:
FROM ubuntu:14.04.3 RUN apt-get update && apt-get install -y mysql-server RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf EXPOSE 3306 CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
Fehlgeschlagene Versuche:
Trotz Erfolg Das Starten der MySQL-Instanz im Container und das Herstellen einer Verbindung vom Host mit mysql -P 12345 -uroot zu ihr führt zu einem Socket-Fehler.
Lösung:
Herstellen einer Verbindung zu Um die MySQL-Datenbank im Docker-Container vom Host-Computer aus auszuführen, sind die folgenden Schritte erforderlich:
Befehl für Host Verbindung:
mysql -h localhost -P 3306 --protocol=tcp -u root
Ändern des Ports:
Wenn ein anderer Port verwendet wird, um die MySQL-Instanz im Docker-Container verfügbar zu machen (z. B. 12345) , sollte es auch im Verbindungsbefehl angegeben werden:
mysql -h localhost -P 12345 --protocol=tcp -u root
Das obige ist der detaillierte Inhalt vonWie stellt man vom Host-Rechner aus eine Verbindung zu einer Docker-MySQL-Instanz her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!