Docker中的networking设置

如果我在Docker中有一个networking设置,如下所示 码头网络

这里MQTTNodejs是两个独立的Nodejs容器。

我是否也必须使用TLS来保护channel A ? 我甚至需要保护channel A吗? 我猜不,因为这只是集装箱通道的一个容器。 我对么?

就Docker而言,我是一个新手,但是我已经读到docker0将允许容器docker0通信,但是阻止外界连接到容器,直到端口从主机映射到容器。

目前还不清楚nodejs和mqtt broker是否在同一个docker容器或者两个独立的容器中,但是…

未映射到主机的端口的2个docker容器之间的链接将位于内部虚拟networking上,只要主机是安全的,stream量应该是安全的,唯一的方法是嗅探来自主机的stream量不需要运行SSL / TLS侦听器。

如果nodejs应用程序和代理程序都位于同一个Docker容器中,则它们可以通过localhost进行通信,因此即使不通过虚拟networking互连,也不需要添加SSL / TLS。

除非主机系统有潜在的敌对容器或用户,否则我不会担心stream量。但有时我的想象力让我失望。

您可以使用弃用的–link标志来防止端口映射到主机(IIUC):

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

再次,IIUC,这创build了两个容器之间的专用networking…证据是netstat -an |grep EST不显示这样连接的容器之间的连接,即使目标端口是向世界开放