So greifen Sie in Docker auf den lokalen Computer (Hostcomputer) zu

So greifen Sie in Docker auf den lokalen Computer (Hostcomputer) zu

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:
  • Detailliertes grafisches Tutorial zum Aktivieren des sicheren Remotezugriffs mit Docker
  • Lösung für das Problem, dass beim Hinzufügen eines Tomcat-Containers zu Docker kein Zugriff auf die Homepage möglich ist
  • So greifen Sie über eine unabhängige IP direkt auf das Docker-für-Windows-Container-Intranet zu
  • Eine Fehlerbehebungserfahrung im CentOS-Docker-Bridge-Modus, bei dem auf den Host-Redis-Dienst nicht zugegriffen werden kann
  • Detaillierte Erklärung zur Verwendung von Docker zum Erstellen von extern zugänglichem MySQL
  • Detaillierte Erläuterung zur Lösung des Problems, dass der Docker-Container nicht über IP auf den Hostcomputer zugreifen kann
  • So verwenden Sie einen Docker-Container für den Zugriff auf das Host-Netzwerk
  • Lösung für das Problem, dass Docker Nginx nach dem Ausführen nicht mehr aufgerufen werden kann
  • Methode zum Zugriff auf unabhängige IP im Docker-Container
  • Drei Möglichkeiten zur Kommunikation zwischen Docker-Containern

<<:  Erklären, wie die SQL-Effizienz analysiert wird

>>:  Detaillierte Erklärung der Rolle des neuen Operators in Js

Artikel empfehlen

Tutorial zur Docker-Installation in einer Linux-Umgebung

1. Installationsumgebung Docker unterstützt die f...

Docker stellt eine Verbindung zum Host-Mysql-Vorgang her

Heute muss das Unternehmensprojekt Docker konfigu...

Beispielerklärung der Alarmfunktion in Linux

Einführung in die Linux-Alarmfunktion Oben genann...

Mehrere Möglichkeiten zum Zentrieren einer Box in der Webentwicklung

1. Notieren Sie mehrere Methoden zum Zentrieren d...

Beispielmethode zum Anzeigen der mit MySQL verbundenen IP-Adresse

Spezifische Methode: Öffnen Sie zuerst die Eingab...

CSS-Navigationsleistenmenü mit kleinem Dreieck-Implementierungscode

Viele Webseiten haben kleine Dreiecke in ihren Na...

XHTML-Erste-Schritte-Tutorial: XHTML-Tags

Einführung in XHTML-Tags <br />Vielleicht is...

MySQL-Abfragebaumstrukturmethode

Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...

HTML+CSS+JavaScript zum Erstellen eines einfachen Tic-Tac-Toe-Spiels

Inhaltsverzeichnis Implementieren von HTML CSS hi...