Mit docker-compose up
Seit Sie Port 3306
veröffentlicht haben auf Ihrem Docker-Host , von diesem Host selbst würden Sie sich mit 127.0.0.1:3306
verbinden .
Mit docker-compose run
In diesem Fall der Port-Mapping-Abschnitt der docker-compose.yml
Datei wird ignoriert. Damit der Port-Mapping-Abschnitt berücksichtigt wird, müssen Sie den --service-ports
Möglichkeit:
docker-compose run --service-ports db
Zusätzlicher Hinweis
Beachten Sie, dass der MySQL-Client standardmäßig versucht, eine Verbindung über einen Unix-Socket herzustellen, wenn Sie ihn anweisen, sich mit localhost
zu verbinden . Verwenden Sie also 127.0.0.1
und nicht localhost
:
$ mysql -h 127.0.0.1 -P 3306 -u root
Willkommen beim MySQL-Monitor. Befehle enden mit; oder \g.Ihre MySQL-Verbindungs-ID ist 1Server-Version:5.6.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle und/oder seine verbundenen Unternehmen. Alle Rechte vorbehalten.
Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer verbundenen Unternehmen. Andere Namen können Marken ihrer jeweiligen Eigentümer sein.
Geben Sie „Hilfe“ ein; oder '\h' für Hilfe. Geben Sie '\c' ein, um die aktuelle Eingabeanweisung zu löschen.
mysql>
$ mysql -h localhost -P 3306 -u root
FEHLER 2002 (HY000):Verbindung zum lokalen MySQL-Server über Socket '/var/run/mysqld/mysqld.sock' nicht möglich (2)