2016-03-31 5 views
0

Wenn dies möglich ist, wie kann es getan werden?Docker modifizieren iptables eines einzelnen laufenden Containers

Ich möchte, dass die Änderungen nur Regeln innerhalb eines Containers ändern, keine anderen Container beeinflussen und den Host nicht beeinflussen.

+0

Haben Sie IPtables * läuft * in den Container? In den meisten Fällen ist ein Container nur ein einzelner Prozess, und Sie sollten sie so sehen, als wären sie eine einzelne Binärdatei. Es würde also keine iptables innerhalb des Containers geben, wenn Sie ihn nicht dort installiert haben (und einen Prozessmanager haben) mehrere Prozesse innerhalb des Containers). In einer Standardkonfiguration werden IPtables außerhalb des Containers ausgeführt und grundlegende Regeln werden über Docker verwaltet, d. H. Nur auf Ports, die Sie veröffentlichen ("-p"), kann zugegriffen werden. – thaJeztah

+0

Sie haben keine iptables, Sie haben also recht. Ich glaube, ich suchte nach einer anderen Möglichkeit, einen veröffentlichten Port auf einem bestehenden laufenden Container zu blockieren. – imagineerThat

+0

Meistens sollten Sie einen Container als "unveränderlich" betrachten, d. H. Das Öffnen oder Schließen eines Ports sollte den Start eines neuen Containers rechtfertigen, der den bestehenden ersetzt. Mit ein wenig Planung (persistente Daten außerhalb des Containers zu halten und in einem Volume zu speichern), sollte das einfach zu machen sein, aber hängt natürlich von Ihrer Situation ab. – thaJeztah

Antwort

0

Ja. Docker-Container ist eine laufende Instanz eines Bildes. Änderungen in einem Container wirken sich nicht auf andere Container aus. Here ist eine nette Antwort auf dokcer Bild vs Docker Container

+0

Ich denke, Sie haben den Ja/Nein-Teil der Frage beantwortet , aber ich hoffe auch, eine Lösung zu bekommen. – imagineerThat

+0

Lösung für was genau? Ich meine, IP-Tabellen ändern, um was zu tun? Block/Port öffnen, Port weiterleiten, IP zulassen ... – cantSleepNow

+0

siehe obigen Kommentar – imagineerThat