Lösen Sie das Problem, dass Docker den Hostcomputer unter Mac nicht anpingen kann

Lösen Sie das Problem, dass Docker den Hostcomputer unter Mac nicht anpingen kann

Lösung

Verzichten Sie auf die Linux-VM, die mit Docker für Mac geliefert wird (obwohl sie leicht ist, kommuniziert sie mit OSX über Socket-Dateien) und verwenden Sie docker-machine

Installieren Sie Virtualbox. Nachdem Virtualbox erstellt wurde, wird eine virtuelle Netzwerkkarte hinzugefügt, die über den Befehl ifconfig angezeigt werden kann. Wir implementieren es, indem wir diese virtuelle Netzwerkkarte verwenden.

Verwenden Sie Docker-Machine, um eine standardmäßige virtuelle Linux-Maschine zu erstellen. Befehl: Docker-Machine Create

Wechseln Sie die Docker-Umgebung und verwenden Sie den Befehl eval $(docker-machine env)

Überprüfen Sie die IP-Adresse der erstellten virtuellen Maschine: docker-machine ip default oder direkt docker-machine ip, wenn es 192.168.99.100 ist

Führen Sie den Route-Befehl aus, verwenden Sie 192.168.99.100 als Gateway und routen Sie das IP-Segment des Docker-Containers zu dieser IP. Wenn das Netzwerksegment des Docker-Containers 172.17.0.0/16 ist, verwenden Sie den Befehl sudo route -n add -net 172.17.0.0/16 192.168.99.100, um Routing-Informationen hinzuzufügen.

Starten Sie einen Docker-Container. Dieser Test verwendet das Image redis:alpine: docker run -d redis:alpine. Überprüfen Sie die laufende Spiegel-IP. Und Ping-Test. Wenn nichts Unerwartetes passiert, kann die Hostmaschine jetzt den Container anpingen.

Auffüllen:

eval "$(Docker-Machine-Umgebung -u)"

Dadurch werden die DOCKER_*-Variablen aufgehoben.

Zur Erinnerung, dies ist die Ausgabe von docker-machine env -u:

DOCKER_TLS_VERIFY aufheben
DOCKER_HOST aufheben
DOCKER_CERT_PATH aufheben
DOCKER_MACHINE_NAME aufheben

Zusatzwissen: Der Mac Docker Host-Modus kann nicht verwendet werden

Heute habe ich Fastdfs im Docker auf dem Mac installiert und Tracker und Speicher im Hostmodus gestartet, aber es hat nicht funktioniert.

Es stellte sich heraus, dass der Host-Netzwerktreiber nur mit Linux-Hosts funktioniert und auf Docker für Mac, Docker für Windows oder Docker EE für Windows Server nicht unterstützt wird.

Diese Einschränkung gibt es tatsächlich. Verdammt, ein verschwendeter Tag.

Der obige Artikel zur Lösung des Problems, dass Docker den Hostcomputer unter Mac nicht anpingen kann, ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Lösung, wenn der Docker-Container nicht auf den Host-Port zugreifen kann
  • So verwenden Sie einen Docker-Container für den Zugriff auf das Host-Netzwerk
  • Der Docker-Container wird direkt ausgeführt, um den öffentlichen IP-Vorgang über Ping abzurufen

<<:  Eine kurze Diskussion zum Verständnis von TypeScript-Indexsignaturen

>>:  Schreiben Sie einen formellen Blog mit XHTML CSS

Artikel empfehlen

Eine kurze Diskussion über die Definition und Vorsichtsmaßnahmen von H-Tags

Den Ergebnissen zufolge gibt es für die Definitio...

Implementierung der Bereitstellung eines privaten Docker-Warehouse-Registrars

Da immer mehr Docker-Images verwendet werden, mus...

Detaillierte Erklärung der Rolle des Schlüssels in React

Inhaltsverzeichnis Frage: Wird die Farbe des Bere...

Eine kurze Einführung in MySQL-Funktionen

Inhaltsverzeichnis 1. Mathematische Funktionen 2....

MySQL-Fehlernummer 1129 – Lösung

SQLyog stellt eine Verbindung zu MySQL her, Fehle...

Zabbix überwacht die Konfiguration der Docker-Anwendung

Der Einsatz von Containern kommt immer häufiger v...

Gängige Angriffe auf Web-Frontends und Möglichkeiten, sie zu verhindern

Die Sicherheitsprobleme, die bei der Frontend-Ent...

CSS3-Zeitleistenanimation

Ergebnisse erzielen html <h2>CSS3-Zeitleist...

Chinesische Lösung und Beispielcode für die MySQL-Volltextsuche

MySQL-Volltextsuche, chinesische Lösung Kürzlich ...

...