
Docker Container IP ändern diese Sache, wirklich nicht Sie denken so geheimnisvoll
Jeder, der schon einmal mit Docker gearbeitet hat, weiß, dass die Standard-IP-Zuweisung wie das Öffnen einer blinden Kiste ist, die einem ein ganzes Netzwerksegment 172.17.0.X zuweisen kann. Wenn mehrere Container ein LAN einrichten wollen oder eine feste IP benötigen, um den Proxy-Dienst anzudocken, kann diese zufällige Zuweisung ein Fallstrick sein. Heute werden wir verstehen, wie man einem Docker-Container eine zufällige IP-Adresse zuweist.Benutzerdefinierte IP-AdresseIch zeige Ihnen übrigens, wie Sie mit den Proxy-IPs von ipipgo herumspielen können.
Zuerst den "Virtual NIC"-Mechanismus von Docker verstehen
Standardmäßig erstellt Docker ein virtuelles Netzwerk namens bridge, das wie eine eigene Nachbarschaft für Container ist. Wenn Sie die Gate-Nummer (IP) ändern möchten, müssen Sie selbst eine neue Nachbarschaft erstellen:
Erstellen Sie ein neues Slice namens my-net und setzen Sie das Gateway auf 192.168.99.1
docker network create --subnet=192.168.99.0/24 --gateway=192.168.99.1 my-net
Achten Sie darauf, dass Sie nicht mit dem Netzwerksegment des Hosts in Konflikt geraten. Es wird empfohlen, ein kaltes Segment wie 192.168.99.X oder 10.10.10.X zu verwenden.Docker-Netzwerk lsSie werden sehen, dass das my-net soeben begradigt wurde.
Die richtige Haltung für die Zuweisung einer festen IP an einen Container
Das Starten des Containers mit dem Parameter -ip ist erledigt, aber es gibt zwei Fallstricke, auf die man achten sollte:
1. benutzerdefinierte Netze müssen angegeben werden
Fehlerdemonstration (bei Verwendung des Standardnetzwerks wird ein Fehler gemeldet)
docker run -it --ip 192.168.99.10 ubuntu
Korrekte Haltung
docker run -it --network=my-net --ip 192.168.99.10 ubuntu
2. die IP sollte innerhalb des Netzsegments liegen
Wenn Sie beispielsweise ein 192.168.99.0/24-Segment erstellen, sind die verfügbaren IPs 192.168.99.1~192.168.99.254. Es wird empfohlen, eine IP-Zuweisungstabelle zu erstellen:
| Name des Containers | verwenden. | IP-Adresse |
|---|---|---|
| web01 | Front-End-Dienst | 192.168.99.10 |
| proxy01 | Spediteur | 192.168.99.20 |
| db01 | umfassende Datenbank | 192.168.99.30 |
Konfigurieren von Proxy-IPs in Containern
Dies ist die Zeit, um aus unserer ipipgo bewegen, nehmen Sie die statische Wohn-Agent als eine Kastanie:
Setzen Sie den globalen Proxy im Container
export http_proxy="http://用户名:密码@gateway.ipipgo.net:端口"
export https_proxy="http://用户名:密码@gateway.ipipgo.net:端口"
Testen Sie die IP, um zu sehen, ob sie funktioniert
curl ipinfo.io
Wenn Sie sehen, dass die zurückgegebene IP sich als der Knoten von ipipgo herausstellt, ist das solide. Schlage vor, ihreStatisches Wohnpaket$35 pro Monat für eine feste IP, die viel zuverlässiger ist als eine dynamische.
Häufig gestellte Fragen QA
F: Was soll ich tun, wenn ich nach der Änderung der IP keinen Ping zwischen Containern bekomme?
A: Überprüfen Sie zunächst die Firewall-Regeln und stellen Sie dann sicher, dass sich alle Container im selben benutzerdefinierten Netzwerk befinden. Sie können docker network inspect my-net verwenden, um den Verbindungsstatus zu sehen.
F: Was sollte ich tun, wenn die Proxy-IP plötzlich keine Verbindung mehr herstellt?
A: Verwenden Sie zunächst docker exec im Container, um die Netzwerkkonnektivität zu testen. Wenn es sich um ein Problem mit den Knoten von ipipgo handelt, antwortet der Kundendienst schnell, und im Hintergrund kann man auch selbst die Ausgangsknoten wechseln.
F: Wie verwalte ich Agenten für mehrere Container in großen Mengen?
A: Es wird empfohlen, die API von ipipgo zu verwenden, um dynamisch Proxys zu erhalten und ein Shell-Skript zu schreiben, um sie regelmäßig zu aktualisieren. Die API-Dokumentation kann von Grundschülern verstanden werden und unterstützt mehrere json und txt Formate.
Sagen Sie etwas, das von Herzen kommt.
In der Tat, die Netzwerk-Konfiguration von dieser Sache, es ist wie Bausteine, versuchen Sie ein paar Mal mehr, um die Tür zu verstehen. ipipgo hat einen Dieb gute Nutzung der Funktion---.Client-seitige Ein-Klick-KonfigurationSie müssen nicht alle diese komplizierten Befehle zu erinnern. Vor allem tun Crawler oder Datensammlung alten Bruder, wählen Sie direkt ihre TK-Linie, als Docker-Netzwerk zu werfen, um eine Menge Herzschmerz zu sparen. Denken Sie daran, Technologie ist für Business-Services, nicht den Karren vor das Pferd setzen.

