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

Ubuntu-Grundeinstellungen: Installation und Nutzung des OpenSSH-Servers

Protokollieren Sie die Installation und Verwendun...

Lösen Sie das Matching-Problem in CSS

Problembeschreibung Wie wir alle wissen, wird bei...

Eine kurze Diskussion über HTML-Dokumenttypen und -Kodierung

DOKTYP Doctype wird verwendet, um dem Browser mit...

JavaScript implementiert schnell Kalendereffekte

In diesem Artikelbeispiel wird der spezifische Ja...

So legen Sie eine feste IP-Adresse in einer virtuellen CentOS7-Maschine fest

Da meine Entwicklungsumgebung darin besteht, Cent...

Detaillierte Erklärung zur Installation von MariaDB 10.2.4 auf CentOS7

CentOS 6 und frühere Versionen stellen MySQL-Serv...

Detaillierte Erläuterung der Wissenspunkte zur asynchronen Programmierung in nodejs

Einführung Weil JavaScript standardmäßig ein Thre...

So ändern Sie die Systemsprache von CentOS7 in vereinfachtes Chinesisch

veranschaulichen Bei einer Eigeninstallation des ...