Django in Docker Compose: MySQL-Verbindung herstellen
Django mit einer MySQL-Datenbank in einer Docker-Umgebung zu verbinden kann eine Herausforderung sein. Dieser Artikel befasst sich mit dem Problem, das beim Versuch, die Verbindung herzustellen, auftrat und zu folgendem Fehler führte: „Es konnte keine Verbindung zum MySQL-Server auf ‚mariadb55‘ hergestellt werden (111 „Verbindung abgelehnt“).“
Zunächst die Datenbank Der Zugriff war über Docker Compose up db möglich, und eine lokale Instanz konnte über den Python-Runserver manage.py verbunden werden. Die Verbindung innerhalb von Django schlug jedoch fehl.
Bei weiteren Untersuchungen wurde festgestellt, dass das Problem auf die Verwendung eines falschen Ports und Hostnamens in der Konfigurationsdatei „settings.py“ von Django zurückzuführen war.
Lösung:
Die Lösung bestand darin, sicherzustellen, dass der richtige Port und Hostname in der Datei settings.py festgelegt wurden. Konkret sollten die Einstellungen „db“ als Host und „3306“ als Port verwenden.
Einstellungen.py aktualisiert:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'belter', 'HOST': 'db', 'PORT': '3306', 'PASSWORD': 'belter_2017', 'default-character-set': 'utf8', 'OPTIONS': { 'sql_mode': 'traditional', } } }
Zusätzlich ein Extra Der Befehl wurde zur Docker Compose-Konfigurationsdatei hinzugefügt, um zu überprüfen, ob der MySQL-Port geöffnet war, bevor versucht wurde, eine Verbindung von Django herzustellen.
Durch die Anwendung dieser Änderungen wurde die Verbindung zwischen Django und MySQL innerhalb der Docker-Umgebung erfolgreich hergestellt.
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die dem von Ihnen gewünschten Frage-Antwort-Format folgen: Option 1 (direkter): * Django in Docker Compose: Warum kann ich keine Verbindung zu meiner MySQL-Datenbank herstellen? Option 2 (Weitere Spez. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!