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
Weiß es jemand? Für Antworten wäre ich sehr dankbar
Danke
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 run
Befehl
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!