【代理】无需端口映射,实现外部网络访问Docker集群内部服务
注意:读这篇文章之前最好先看看这个文章
https://blog.csdn.net/czk740960212/article/details/80393825
背景
Docker支持端口映射,即将主机的某一端口映射到容器的端口,这样对主机这一端口的请求就会被转发到容器内,实现外部网络与容器通信的目的。
之前在部署Apache Storm系统的时候,发现web管理页里的supervisor日志无法查看,它的地址是类似storm_supervisor:8000这种形式的,而外部主机根本无法解析这个地址,即使可以解析(10.x.x.x),网络也是不互通的,无法访问。如果采取端口映射方式,一方面需要在外部主机上修改host文件,十分麻烦;另一方面,每一个supervisor都需要映射相同的端口,会造成冲突。所以这种方式无法实现,只能考虑其他方式。