2017-05-28 13 views
1

Wenn ich ein Netzwerk-Setup in Docker haben, als docker networkingNetworking Setup in Docker

Hier folgt MQTT und Nodejs sind zwei getrennte Docker-Container.

Muss ich TLS auch zur Sicherung channel A verwenden? Muss ich sogar channel A sichern? Ich denke nein, da es sich nur um einen Container-Container-Kanal handelt. Hab ich recht?

Ich bin ein Neuling so weit wie Docker betroffen ist, aber ich habe gelesen, dass docker0 Container miteinander kommunizieren können, aber verhindern, dass die Außenwelt Verbindung zu Containern, bis ein Port vom Host zu einem Container zugeordnet ist.

+0

Stack Overflow ist eine Website für Programmierung und Entwicklung Fragen. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) wäre ein besserer Ort, um zu fragen. Siehe auch [Wo veröffentliche ich Fragen zu Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww

Antwort

1

Es fro die Frage ist nicht klar, ob die NodeJS und MQTT Broker in dem gleichen Docker Behälter oder in zwei getrennten Behältern sind, aber ...

Die verzahnt zwischen 2 Docker Behältern für einen Port nicht mit dem Host abgebildet Das interne virtuelle Netzwerk ist die einzige Möglichkeit, zu schnüffeln, dass der Datenverkehr vom Hostcomputer stammt. Solange der Hostcomputer sicher ist, sollte der Datenverkehr sicher sein, ohne dass ein SSL/TLS-Listener ausgeführt werden muss.

Wenn sich sowohl die nodejs-App als auch der Broker innerhalb des gleichen Andock-Containers befinden, können sie über localhost nicht einmal über die virtuelle Netzwerkverbindung kommunizieren, sodass SSL/TLS nicht erneut hinzugefügt werden muss.

+0

Hier sind MQTT und Nodejs zwei separate Andock-Container. –

1

Ich würde mir keine Sorgen machen über den Verkehr, es sei denn, das Host-System hat potentielle feindliche Container oder Benutzer ... aber manchmal meine Phantasie fehlt mir.

Sie können die veralteten --link Flag verwenden, um den Port zu verhindern, an den Host abgebildet wird (IIUC):

docker run --name mqtt mqtt:latest & docker run --name nodejs --link mqtt nodehs:latest 

Wieder IIUC, das schafft ein privates Netzwerk zwischen den beiden Behältern ... Der Beweis dafür ist netstat -an |grep EST zeigt keine Verbindungen zwischen Containern, die auf diese Weise verbunden sind, selbst wenn einer der Zielport zur Welt geöffnet ist