`
m635674608
  • 浏览: 5080332 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

docker 容器互通端口场景测试

 
阅读更多

docker 容器互通端口场景测试

 

172.26.11.221 > 容器1

172.26.11.222 

 

场景一:通过在172.26.11.222 执行命令 nc -l 1234,然后在容器1中 nc 172.26.11.222 1234

 

然后在容器1执行netstat -nlap

显示:

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   

tcp        0      0 172.17.0.2:47014            172.26.11.222:1234          ESTABLISHED 525/nc   

 

然后在容器1宿主机上172.26.11.221执行命令:netstat -nlap|grep 47014 为空

 

然后在172.26.11.222 执行命令 netstat -nlap|grep 47014

 

tcp        0      0 172.26.11.222:1234      172.26.11.221:47014     ESTABLISHED 6008/nc 

 

47014端口对应的是172.26.11.221端口,但是在172.26.11.221查看又没有47014端口

 

总结:

当容器1和172.26.11.222建立tcp通讯时,容器1内部启动端口47014,与宿主机172.26.11.221,外有一个端口映射,通过这个映射关系和外面建立tcp连接通讯

 

 

场景二:容器1 启动dubbo服务,注册到zk中,在zk控制台显示的容器的ip,端口号(根据场景一,此时和zk建立连接的是容器1宿主机172.26.11.221)

dubbo这种场景,docker容器网络互通没问题

通过echo cons | nc 127.0.0.1 2181 查看客户端连接信息

 /172.26.11.224:46552[1](queued=0,recved=2,sent=2,sid=0x158eb8f374d0004,lop=PING,est=1481426888544,to=30000,lcxid=0x0,lzxid=0xa,lresp=1481426898571,llat=0,minlat=0,avglat=25,maxlat=50)

 /127.0.0.1:39315[0](queued=0,recved=1,sent=0)

 /172.26.11.224:60971[1](queued=0,recved=553,sent=553,sid=0x158eb8f374d0001,lop=PING,est=1481421373591,to=30000,lcxid=0x0,lzxid=0xa,lresp=1481426897377,llat=0,minlat=0,avglat=0,maxlat=17)

 即使是容器内部连接过来的,显示的还是容器宿主机的ip

 

 

场景三:外部访问容器http服务,通过docker 原生容器通讯只能做到容器间的通讯,容器访问宿主机,做不到宿主机访问容器

换一种docker网络通讯模式flannel

分享到:
评论

相关推荐

    Docker容器端口映射(教程).md

    Docker容器端口映射是实现容器内部应用与外界通信的关键技术手段。端口映射的实质是将容器内部运行的应用监听的端口映射到宿主机的端口上,这样一来,外部设备和网络就可以通过访问宿主机的端口来访问容器内部的应用...

    Docker学习笔记之Weave实现跨主机容器互联

    Weave是由Zett.io公司开发的一个开源网络方案,它可以创建一个虚拟网络,连接部署在多台主机上的Docker容器。通过Weave网络,容器就像接入了同一个物理网络交换机一样,从而能够实现透明的、跨主机的通信。 Weave...

    Docker网络原理分析

    - **Docker容器网络**: 每个容器的`eth0`接口都被分配了一个私有IP地址,例如`10.0.0.100/16`对于`docker1`容器,`10.0.0.200/16`对于`docker2`容器。容器的网关均指向`docker0`的IP地址`10.0.0.1`。 ##### 2.3 ...

    Docker的网络模式示意图.zip

    在容器技术领域,Docker是不可或缺的主角之一,它提供了轻量级的虚拟化环境,使得应用程序可以在隔离的环境中运行。...理解并熟练运用这些网络模式,能够更好地优化和管理Docker容器,提升整体系统的效率和安全性。

    Docker 扁平化网络插件1

    Docker 扁平化网络插件的开发主要是为了解决Docker容器跨主机互访的问题。在Docker官方提供的解决方案中,如端口映射、ovs和flannel等,存在一些不足,如端口映射会导致内部IP映射到外部IP,ovs和flannel则会在基础...

    docker-overlay网络部署1

    这个场景描述了如何在三台机器上设置一个overlay网络,以实现容器间的互联互通。以下是对这一过程的详细解释: 首先,环境设置包括三台机器,其中一台作为Consul服务器(192.168.1.21),另外两台(192.168.1.32和...

    Docker实现同Ip网段联通的实现

    关于如何通过Docker实现同IP网段的互联互通,文章详细地介绍了在Linux环境中通过配置自定义网桥来解决Docker容器与宿主机以及不同宿主机间通信的问题。以下内容将详细介绍该过程中涉及的关键知识点。 首先,Docker ...

    天翼云认证开发工程师班模拟测试题.docx

    Docker作为一种流行的容器技术,它的定义是一个“标准化的软件单元”,允许将应用程序及其依赖打包到一个可移植的容器中,便于跨不同环境部署。 Kubernetes(K8S)是容器编排工具,Pod作为K8S的基本部署单元,内部...

    zerotier的planet服务器(根服务器)-搭建教程和客户端连接

    - ZeroTier可以与Docker等容器技术结合使用,便于容器间进行网络通信。 - 结合内网穿透技术,可以实现内网中设备的远程访问。 8. 参考资料: - 提供了博客园中一篇关于ZeroTier planet服务器搭建教程的链接,...

Global site tag (gtag.js) - Google Analytics