So stellen Sie eine Verbindung von Localhost zu einem Docker-Container her, der im Docker-Netzwerk ausgeführt wird
P粉418854048
P粉418854048 2023-07-25 11:54:51
0
1
478
<p>Ich habe einen MySQL-Docker-Container, der mit Docker wie folgt geschrieben wurde:</p> <pre class="brush:php;toolbar:false;">version: "3.3" Dienstleistungen: Datenbankserver: Containername: Datenbank Bild: mysql:latest bauen: Dockerfile: ./Dockerfile Umfeld: MYSQL_ROOT_PASSWORD: rootTest MYSQL_USER: soumalya MYSQL_PASSWORD: userTest Häfen: - „3031:3306“ Netzwerke: - intern Bände: - mysql:/var/lib/mysql - ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro Neustart: sofern nicht gestoppt Netzwerke: intern: Fahrer: Brücke Bände: mysql:</pre> <p>Ich verbinde mich mit dem richtigen Passwort mit localhost:3031, erhalte jedoch folgende Fehlermeldung: </p> <pre class="lang-bash Prettyprint-override"><code>Zugriff für Benutzer „root“@‘172.19.0.1‘ verweigert (mit Passwort: JA) </code></pre> <p>Wie behebe ich diesen Fehler? Auch andere Container im selben internen Netzwerk können keine Verbindung zur Datenbank herstellen. </p><p>Den Inhalt der Docker-Datei gebe ich hier an:</p><p><code></code></p> <pre class="brush:php;toolbar:false;">ADD init.sql init.sql</pre> <p>Ich habe den Inhalt von init angegeben. SQL hier:</p> <pre class="brush:php;toolbar:false;">Datenbank erstellen, falls keine Bewertungen vorhanden sind; Datenbank erstellen, falls keine Benutzer vorhanden sind; Datenbank erstellen, falls keine Anbieter vorhanden sind; GEWÄHREN ALLE PRIVILEGIEN für Bewertungen.* an 'soumalya'@'%'; GEWÄHREN ALLE PRIVILEGIEN für Benutzer.* an 'soumalya'@'%'; GEWÄHREN SIE ALLE PRIVILEGIEN für Anbieter.* an 'soumalya'@'%';</pre> <p>Aus den Containerprotokollen kann ich ersehen, dass die Datenbank startet und auf eingehende Verbindungen in Port 3306 wartet. </p>
P粉418854048
P粉418854048

Antworte allen(1)
P粉803527801

正如@HansKillan所说,当数据库已经存在时,我更改了密码,更改的密码被忽略了,它正在使用旧密码。我不得不手动修改我的用户的密码写sql命令使用docker exec <container_name>…使用SQL命令修改用户密码。然后一切都成功了。在您的情况下,如果您的数据库不包含太多数据,那么您可以直接删除卷并重新创建容器以缩短时间

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!