前面我们已经解决了容器之间通信的问题,接下来讨论容器如何与外部世界通信,这里涉及两个方向
1.容器访问外部世界
2.外部世界访问容器
1.容器访问外部世界
在我们当前的实验环境下 docker host是可以访问外网的
[root@server7 ~]# ping www.baidu.com
PING www.baidu.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=52 time=97.4 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=52 time=77.2 ms
我们看一下容器是否也能访问外网呢?
[root@server7 ~]# docker run -it busybox
/ # ping www.baidu.com
PING www.baidu.com (61.135.169.125): 56 data bytes
64 bytes from 61.135.169.125: seq=0 ttl=51 time=173.166 ms
64 bytes from 61.135.169.125: seq=1 ttl=51 time=104.223 ms
# 可以看到的是,容器默认就能访问外网
# 外网:指的是容器网络以外的网络环境,并非特指Internet
[root@server7 ~]# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N DOCKER
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst
docker-容器与外部世界连接
最新推荐文章于 2022-12-14 15:52:37 发布