美文网首页Docker的那些事儿
Docker的那些事儿—容器与外部网络的连通(27)

Docker的那些事儿—容器与外部网络的连通(27)

作者: sjyu_eadd | 来源:发表于2018-03-19 21:32 被阅读9次

上一篇:Docker的那些事儿—容器间的通信方式(26)


前面探讨了容器与容器,容器与主机间的连通,这节我们探讨下容器与外部网络之间的连通。

1、容器访问外部网络

进入容器内部,尝试ping www.baidu.com

我们查询宿主机上的路由:

默认的路由是通过enp0s3向外发送数据包的,而我们前面又知道容器与宿主机相通是通过docker0连通的。因此,我们有理由猜测docker0与enp0s3之间一定存在某种关系。我们针对这两个网桥抓取数据包看一下:

我们模拟发了三个数据包,当数据包从172.17.0.2 > 119.75.213.61的时候,转换成了192.168.1.111 > 119.75.213.61。这就是我们上图中画的iptables NAT转换的结果,这也就使得数据包能够到达外网。而实际上宿主机上的iptables上的该条规则:对于docker0收到来自172.17.0.2/16网段发送的数据包,就将其交到MASQUERADE处理;而MASQUERADE就是将数据包的源地址替换为宿主机地址进而发送出去,也就是我们上面说的做了一次NAT转换。

2、外部网络访问容器

在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数指定端口映射。

(1)-P它会随机映射一个端口至容器内部开放的网络端口。

(2)-p可以指定要映射的端口,并且在一个指定端口上只可以绑定一个容器。端口映射支持的格式有:

ip:hostport:containerport   #指定ip、指定主机port、指定容器port

ip::containerport          #指定ip、未指定主机port、指定容器port

hostport:container        #未指定ip port、指定主机port、指定容器port

容器以-P的形式启动的,docker ps查询到端口映射情况如下:

浏览器输入:http://192.168.1.111:32769,可见可以访问容器应用

docker-proxy监听来自端口32769的数据包将其转到容器172.17.0.2:80进行响应。


下一篇:Docker的那些事儿—Docker数据管理(28)


相关文章

  • Docker的那些事儿—容器与外部网络的连通(27)

    上一篇:Docker的那些事儿—容器间的通信方式(26) 前面探讨了容器与容器,容器与主机间的连通,这节我们探讨下...

  • Docker的那些事儿—Docker数据管理(28)

    从本节开启Docker存储部分,学习docker是如何对数据管理的。 上一篇:Docker的那些事儿—容器与外部网...

  • Docker-网络

    网络 容器间通信 容器间可通过IP,Docker DNS Server或joined容器三种方式通信。 容器与外部...

  • Docker笔记之网络管理

    Docker中的容器的网络默认与宿主机、与其他容器都是相互隔离的, 实现容器之间、容器运行的服务于外部网络之间等的...

  • Docker实战系列(4)-网络配置

    Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。 外部访问容器 容器中可以运行一些网络应用,要让...

  • Docker 网络

    Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。 外部访问容器 容器中可以运行一些网络应用,要让...

  • docker网络模式

    docker网络 使用网络 外部访问容器 -p/P端口映射参数 docker port查看当前端口映射 容器互联 ...

  • Docker 网络

    Docker允许通过外部访问容器或容器互联的方式来提供网络服务。 安装Docker时,会自动安装一块Docker网...

  • Docker的那些事儿—none和host网络(21)

    上一篇:Docker的那些事儿—容器生命周期管理(20) 从本节开始,开启网络部分学习。 none网络 none网...

  • Docker的那些事儿—使用自定义网络启动容器(24)

    上一篇:Docker的那些事儿—如何自定义网络(23) 下面使用新创建的my_bridge网络启动容器,并检查网络...

网友评论

    本文标题:Docker的那些事儿—容器与外部网络的连通(27)

    本文链接:https://www.haomeiwen.com/subject/ledsqftx.html