Lösung, wenn Docker plötzlich vom externen Netzwerk nicht mehr erreichbar ist

Lösung, wenn Docker plötzlich vom externen Netzwerk nicht mehr erreichbar ist

Nach den Methoden der Meister wurde die Ursache gefunden: sysctl net.ipv4.ip_forward. Tencent Cloud forderte dazu auf, die Schwachstelle zu beheben. Nach der Ausführung ihres Skripts wurde die IP-Weiterleitung deaktiviert.

Nach einigen Recherchen konnte ich das Problem über die Docker-Informationen finden.

Und Sie können sehen, dass Docker eine Warnung ausgibt

Lösung:

sudo vim /etc/sysctl.conf Ändern, speichern, dann systemctl restart network

oder

sysctl -w net.ipv4.ip_forward=1

Aber diese Behandlung kann nach einem Neustart des Servers ungültig werden?

Es gibt noch zwei weitere Warnungen, also lassen Sie uns diese gemeinsam behandeln.

WARNUNG: bridge-nf-call-iptables ist deaktiviert
WARNUNG: bridge-nf-call-ip6tables ist deaktiviert

Ergänzung: Docker-Netzwerkproblem, die externe IP des Hostcomputers kann im Docker-Container nicht angepingt werden, die externe IP anderer Computer kann jedoch angepingt werden

Problembeschreibung

Maschine A und Maschine B haben jeweils eine eigene interne und externe IP-Adresse, zum Beispiel: A-IP-intern, A-IP-extern

B-IP-innen, B-IP-außen, Maschine A hat den Domänennamen www.xxx.com

Installieren Sie den Jenkins Docker-Container auf Maschine A, starten Sie ihn und geben Sie den Container ein

#docker exec -it jenkins /bin/sh
Pingen Sie dann die interne IP von Host A im Container an, und sie kann angepingt werden. #ping A-IP-internal (172.16...) //Gibt zurück, dass sie angepingt werden kann. #ping A-IP-external (202.106...) //Ping fehlgeschlagen. #ping www.xxx.com //Kann korrekt in die externe IP von Maschine A aufgelöst werden, aber der Ping kann nicht angepingt werden. #ping baidu.com //Kann angepingt werden.

Zusätzlich:

1. Vom Hostcomputer A außerhalb des Docker-Containers ist der Ping A-IP-outside (202.106...) erfolgreich.

2. Installieren Sie den Jenkins-Container auf Maschine B und pingen Sie A-IP-external (202.106...) aus dem Container heraus.

2. Installieren Sie den Jenkins-Container auf Maschine B. Das Pingen von B-IP-external (202.106…) aus dem Container heraus ist erfolglos.

Die Suche nach verschiedenen Netzwerkproblemen, das Löschen von Containern und Images sowie die Neuinstallation von Docker funktionieren alle nicht.

Kurz gesagt: Wie kann ich die öffentliche IP des Hostcomputers selbst im Docker-Container anpingen?

Ich muss www.xxx.com im Container von Maschine A anpingen, wodurch die Intranetadresse von Maschine A aufgelöst wird.

Denn die Intranetadresse der Maschine A lässt sich aus dem Container heraus anpingen.

Neue geänderte Docker-Compose-Datei

zusätzliche_hosts:
- „www.xxx.com:172.16.xxx.A“

Nach dem Neuaufbau des Docker-Containers geben Sie den Docker-Container ein

#ping A-IP-outside (202.106...) // Erfolgreich gepingt, OK erfüllt die Anforderung

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Docker-Container greift auf MySQL-Operationen des Hosts zu
  • Docker-Container: benutzerdefinierter Host-Netzwerkzugriffsvorgang
  • Docker-Port-Mapping und externe Unzugänglichkeitsprobleme
  • So aktivieren Sie den Fernzugriff in Docker
  • Lösung für das Problem, dass der Docker-Container nicht auf Jupyter zugreifen kann
  • Beim Zugriff auf die Homepage eines im Docker-Modus gestarteten Tomcat tritt ein 404-Fehler auf
  • Docker-Image-Zugriff auf den lokalen Elasticsearch-Port-Vorgang

<<:  MySQL-Leistungsoptimierungs-Index-Pushdown

>>:  Vue implementiert einfache Kommentarfunktion

Artikel empfehlen

HTML Mehrere spezielle Trennlinieneffekte

1. Grundlinien 2. Spezialeffekte (die Effekte sin...

Vue verwendet Regeln zur Implementierung der Formularfeldvalidierung

Es gibt viele Möglichkeiten, Formularfelder in Vu...

JavaScript-Interview: So implementieren Sie die Methode zur Array-Abflachung

Inhaltsverzeichnis 1. Was ist Array-Flattening? 2...

Detaillierter Vergleich von Ember.js und Vue.js

Inhaltsverzeichnis Überblick Warum ein Framework ...

js zum Implementieren von Operationen zum Hinzufügen und Löschen von Tabellen

In diesem Artikelbeispiel wird der spezifische JS...

Lösung für den Fehler 1045, wenn Navicat eine Verbindung zu MySQL herstellt

Beim Herstellen einer Verbindung mit der lokalen ...

Beispiel für utf8mb4-Sortierung in MySQL

Allgemeine utf8mb4-Sortierregeln in MySQL sind: u...

20 CSS-Codierungstipps für mehr Effizienz (sortiert)

In diesem Artikel möchten wir eine Sammlung von 2...