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
Inhaltsverzeichnis 1. Grundlegende Verwendung 2. ...
1. Ursache: Der Effekt, nachdem die Subbox auf Fl...
Inhaltsverzeichnis Frühe Erstellungsmethode Fabri...
Wenn sich ein Benutzer registriert, klickt er auf...
Vorwort In der Datenbank sind einige Datentabelle...
Inhaltsverzeichnis Berechnete Daten initialisiere...
Bei der Installation von Nginx, MySQL, Tomcat und...
veranschaulichen Bei der Front-End-Entwicklung tr...
In diesem Artikel wird der spezifische Code der m...
Was ist ein Styleguide? Einfach ausgedrückt handel...
<br />Um zu beweisen, dass sein Engagement f...
1. Legen Sie eine Verzeichnis-Whitelist fest: Leg...
1 Einleitung Beim Gestalten einer Datenbank ist e...
Inhaltsverzeichnis 01 CMD 02 EINSTIEGSPUNKT 03 AR...
Inhaltsverzeichnis Hintergrund Inspiration kommt ...