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

Beispiele für die Verwendung der MySQL-EXPLAIN-Anweisung

Inhaltsverzeichnis 1. Nutzung 2. Ausgabeergebniss...

So ändern Sie das MySQL-Passwort auf dem XAMPP-Server (mit Bildern)

Heute habe ich bei der Arbeit an PHP herausgefund...

Eine kurze Analyse der Zählverfolgung einer Anfrage in nginx

Lassen Sie mich zunächst die Anwendungsmethode er...

Grafisches Tutorial zur Installation und Konfiguration der MySQL-Version 5.7.15

Dieser Artikel enthält ein ausführliches Tutorial...

HarborRestart-Vorgang nach dem Ändern der Konfigurationsdatei

Ich werde nicht viel Unsinn erzählen, schauen wir...

Ein kurzer Vortrag über MySQL-Pivottabellen

Ich habe eine Produktteiletabelle wie diese: Teil...

mysql 5.7.11 winx64 anfängliche Passwortänderung

Laden Sie die komprimierte Version von MySQL-5.7....

So überprüfen Sie die Festplattengröße und mounten die Festplatte in Linux

Es gibt zwei Arten von Festplatten in Linux: gemo...

So erweitern Sie Vue Router-Links in Vue 3

Vorwort Das Tag <router-link> ist ein großa...

Lernen Sie, mit Eclipse eine Verbindung zur MySQL-Datenbank herzustellen

Vorwort Da immer wieder Fehler auftreten, protoko...