Heim > Backend-Entwicklung > Golang > Initialisierung der Datenbank fehlgeschlagen, Fehler beim Wählen von TCP 127.0.0.1:3306: Verbindung: Problem mit der verweigerten Verbindung

Initialisierung der Datenbank fehlgeschlagen, Fehler beim Wählen von TCP 127.0.0.1:3306: Verbindung: Problem mit der verweigerten Verbindung

WBOY
Freigeben: 2024-02-06 10:42:04
nach vorne
1182 Leute haben es durchsucht

初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

Frageninhalt

Ich lerne Docker, fangen wir jetzt an Aber ich habe ein Problem, wenn ich das mit Docker ausführe docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest Hier ist ein Teil meines .env-Codes. Ich verwende Docker Desktop unter Windows. Kann ich Docker nicht auf Localhost unter Windows ausführen?

DB_HOST=127.0.0.1
DB_USERNAME=root
DB_NAME=mydbs
DB_PASS=root123
AUTH_GEN_URL=https://api.learning.mydbs.id
Nach dem Login kopieren

Weiß es jemand? Für Antworten wäre ich sehr dankbar

Danke


Richtige Antwort


Das Problem besteht darin, dass beim Starten des Containers versucht wird, eine Verbindung zu 127.0.0.1:3306 innerhalb des Containers und nicht zum Host herzustellen, sodass Sie die Fehlermeldung erhalten, dass die Verbindung abgelehnt wurde, weil auf Port 3306 keine Verbindung besteht Alles läuft im Container auf localhost.

Für Windows und Mac kann dieses Problem einfach mit host.docker.internal 而不是 127.0.0.1 behoben werden. Dadurch wird sichergestellt, dass im Container ausgeführte Dienste ordnungsgemäß eine Verbindung zur MySQL-Instanz herstellen, die auf dem Hostcomputer ausgeführt wird.

Unter Linux ist es sogar noch einfacher, da Sie lediglich den --network="host" 选项传递给 docker runBefehl

hinzufügen müssen

Das obige ist der detaillierte Inhalt vonInitialisierung der Datenbank fehlgeschlagen, Fehler beim Wählen von TCP 127.0.0.1:3306: Verbindung: Problem mit der verweigerten Verbindung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage