docker网络架构、路由
如上图:我启动了两个docker容器,docker1和docker2,这两个容器用的是同一个镜像(nginx镜像),两个分别将nginx的80端口映射到9090和9091端口,启动后可在Windows上正常访问nginx服务。今天写这个主要是记录一下该网络架构中的路由转发情况。![这里写图片描述](https://img-blog.csdn.net/20180617223858721?wa...
·
如上图:我启动了两个docker容器,docker1和docker2,这两个容器用的是同一个镜像(nginx镜像),两个分别将nginx的80端口映射到9090和9091端口,启动后可在Windows上正常访问nginx服务。今天写这个主要是记录一下该网络架构中的路由转发情况。
从这个图中可以看出,很明显最后两条规则是针对“由外访问docker内部的转发规则”
黄色那两条是“从内往外访问规则”,但是很明显的是,对内部的两个地址伪装了。至于伪装为什么了,可以通过tcpdump来抓包瞅瞅。
以docker1为例,首先进入docker1里,之后,ping网关192.168.245.1,接着分别抓取docker1的veth*和host的eth0的流量包,如下:
可以发现,这个地址是被伪装为了192.168.245.222
而两个docker之间的沟通直接通过docker0转发即可,不需要伪装。
更多推荐
已为社区贡献1条内容
所有评论(0)