Frage Wie greife ich in Docker auf die lokale Datenbank zu? Die Verwendung von 127.0.0.1 ist definitiv keine Option, da sich diese auf den Container selbst im Docker-Container bezieht. Daher ist es notwendig, das Problem über andere Kanäle zu lösen. Lösung Sie können je nach Betriebssystemtyp eine der folgenden Methoden auswählen. Docker-Datei: RUN /sbin/ip route|awk '/default/ { print $3,"\tdockerhost" }' >> /etc/hosts Laufzeit: (darf nicht verwendet werden) docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [mein Container] (nützlich) docker run --add-host=dockerhost:`docker network inspect --format='{{range .IPAM.Config}}{{.Gateway}}{{end}}' bridge` [BILD] Docker für Mac (17.12+): docker.für.mac.host.internal MONGO_SERVER=docker.für.mac.host.internal # docker-compose.yml Version: '3' Leistungen: API: Erstellen: ./api Bände: - ./api:/usr/src/app:ro Häfen: - "8000" Umfeld: - MONGO_SERVER Befehl: /usr/local/bin/gunicorn -c /usr/src/app/gunicorn_config.py -w 1 -b :8000 wsgi Linux Lösung 1 /sbin/ip route|awk '/default/ { print $3 }' docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [mein Container] # Lösung 2 -e "DOCKER_HOST=$(ip -4 Adresse show docker0 | grep -Po 'inet \K[\d.]+')" Prinzip Um das Prinzip zu verstehen, müssen Sie das Modell von Computernetzwerken und das von Docker implementierte Modell verstehen. Tatsächlich ist in Docker eine virtuelle Brücke docker0 implementiert. Die virtuelle Adresse des externen Hosts in der Brücke, also docker.for.mac.host.internal, wird benötigt, um auf den externen Host im Container zuzugreifen. Wenn Sie interessiert sind, können Sie sich über die Netzwerkprinzipien von Docker, die Prinzipien von Computernetzwerken und Docker Compose informieren. Referenz [1].(stackoverflow)füge die Docker-IP des übergeordneten Hosts in die Container-Hosts-Datei ein [2].(stackoverflow)So erhalten Sie die IP-Adresse des Docker-Hosts aus einem Docker-Container Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Erklären, wie die SQL-Effizienz analysiert wird
>>: Detaillierte Erklärung der Rolle des neuen Operators in Js
Der erste Schritt besteht darin, das entsprechend...
Vorwort Wir alle wissen, dass MySQL-Abfragen den ...
1. Installationsumgebung Docker unterstützt die f...
Heute muss das Unternehmensprojekt Docker konfigu...
Einführung in die Linux-Alarmfunktion Oben genann...
1. Notieren Sie mehrere Methoden zum Zentrieren d...
Überblick Was ist Hafen? Das englische Wort bedeu...
Spezifische Methode: Öffnen Sie zuerst die Eingab...
Viele Webseiten haben kleine Dreiecke in ihren Na...
Datensicherung und Wiederherstellung Teil 2, wie ...
Vorwort Bei einer datenzentrierten Anwendung wirk...
Vorwort Um beim Testen die Fähigkeit des Projekts...
Einführung in XHTML-Tags <br />Vielleicht is...
Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...
Inhaltsverzeichnis Implementieren von HTML CSS hi...