Bei der Verwendung von Docker wurden mehrere Probleme entdeckt. Netzwerkanforderungen in Docker schlugen häufig fehl, z. B. NPM-Installations- und Bundle-Installationsvorgänge. Oder als Zwischenschicht führte der Prozess zum Abrufen von API-Daten in der Anwendung häufig zu Zeitüberschreitungen. Daher begannen wir, den Netzwerkmechanismus von Docker zu untersuchen, um das Problem langsamer Netzwerkanforderungen zu lösen. 1. Docker-Netzwerkmodus 1. keine Wenn die Konfiguration auf „Keine“ gesetzt ist, kann das Docker-Containernetzwerk weder Ein- noch Ausgabe haben und ist von der Welt isoliert. 2. Brücke 3. Gastgeber 4. Behälter 2. Docker DNS-Auflösung Der Docker-Container ist im Wesentlichen ein Linux, daher ist die DNS-Auflösungsmethode dieselbe wie bei Linux und die Priorität besteht darin, die Datei /etc/hosts zu finden. Domänennamen wie localhost werden in diese Datei geschrieben, zum Beispiel: 127.0.0.1 lokaler Host Wenn der Docker-Container andere Container verknüpft, gibt es einen zusätzlichen verknüpften Domänennamen, zum Beispiel: docker run --name app --link app-redis:redis -d ubuntu Es wird mehr in Gastgebern geben 172.17.0.3 App-Redis 038c8388e4a1 Nachdem Sie die Datei /etc/hosts und dann die Datei /etc/resolv.conf gefunden haben: Domäne lokal Nameserver 192.168.65.1 Nameserver 192.168.65.10 3. Lösen Sie das Problem langsamer Netzwerkanforderungen in Docker-Containern Nach der Paketerfassung und anderen Analysen wurde festgestellt, dass die langsamen Netzwerkanforderungen hauptsächlich bei der DNS-Auflösung auftraten. Daher wurde hauptsächlich eine DNS-Optimierung angewendet: Wenn die Anfrage für Ihre eigene Intranet-API ist, können Sie die Datei /etc/hosts direkt ändern. Wenn die Anfrage für ein externes Netzwerk ist, können Sie den Nameserver in /etc/resolv.conf ändern. Der Docker-Container wird definitiv nicht direkt durch die Änderung von Dateien implementiert, kann aber über den Befehl „run“ implementiert werden: # Host hinzufügen docker run --name app --add-host='api.embbnux.com:10.98.10.98' -d ubuntu # DNS-Server angeben docker run --name app --dns=223.5.5.5 --dns=8.8.8.8 -d ubuntu Auf diese Weise wird die DNS-Auflösungszeit im Docker-Container beschleunigt. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Grafisches Tutorial zur Installation und Konfiguration von CentOS 6.4 MySQL 5.7.18
>>: React implementiert eine hochadaptive virtuelle Liste
** Installieren Sie mysql-8.0.20 unter Linux ** U...
Inhaltsverzeichnis 1. Einleitung 2. Zusammensetzu...
/******************** * Virtuelles Dateisystem VF...
Ergebnisse erzielen Implementierungscode <h1&g...
React ist eine JAVASCRIPT-Bibliothek zum Erstelle...
1. Installieren Sie Tomcat 1. Suchen Sie das Tomc...
1. Hintergrund der parallelen Replikation Zunächs...
1. Verwenden Sie den folgenden Befehl, um das SSH...
Inhaltsverzeichnis Vergleichen Sie die leere Zeic...
In diesem Artikel wird erklärt, wie Sie MySQL aus...
Vorwort Wir müssen häufig etwas basierend auf bes...
Inhaltsverzeichnis Überblick Die vier Hauptobjekt...
1. Die erste Methode besteht darin, den Befehl un...
Im vorherigen Artikel habe ich die Funktion von V...
Vorschau: Code: Seitenabschnitte: <Vorlage>...