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

So installieren Sie Mysql5.7 in Centos6

Umfeld Centos 6.6 MySQL 5.7 Installieren Falls da...

Abrufen der Erstellungszeit einer Datei unter Linux und ein praktisches Tutorial

Hintergrund Manchmal müssen wir den Erstellungsze...

Detaillierte Erklärung der Rahmen- und Regelattribute der Tabelle in HTML

Die Rahmen- und Regelattribute des Tabellentags k...

Grafisches Tutorial zur Installation von mysql5.7.17.msi

mysql-5.7.17.msi Installation, folgen Sie den Scr...

Beispiel für die MySQL-Volltext-Fuzzy-Suche nach der Methode MATCH AGAINST

MySQL 4.x und höher bieten Unterstützung für die ...

So verwandeln Sie ein JAR-Paket in einen Docker-Container

So verwandeln Sie ein JAR-Paket in einen Docker-C...

Tutorial zur kostenlosen Konfiguration der MySQL 5.7.18-Installationsversion

Installations-Tutorial zur kostenlosen Installati...

Lösungen für Probleme bei der Verwendung von addRoutes in Vue-Projekten

Inhaltsverzeichnis Vorwort 1. 404 Seite 1. Ursach...

Nginx implementiert ein Codebeispiel für die https-Websitekonfiguration

https-Basisport 443. Er wird für etwas verwendet,...