docker 网络

1、docker网络模式

bridge
默认网络,Docker启动后默认创建一个docker0网桥,默认创建的容器也是添加到这个网桥中。
host
容器不会获得一个独立的network namespace,而是与宿主机共用一个。
none
获取独立的network namespace,但不为容器进行任何网络配置。
container
与指定的容器使用同一个network namespace,网卡配置也都是相同的。
自定义
自定义网桥,默认与bridge网络一样。

 

2、Docker主要通过netfilter/iptables实现网络通信。
iptables由netfilter和iptables组成,netfilter组件是Linux内核集成的信息包过滤系统,它维护一个信息包过滤表,这个表用于控制信息包过滤处理的规则集。而iptables只是一个在用户空间的工具,用于增删改查这个过滤表的规则

 

3、容器如何访问外网

 

 

 

可以看到容器的默认网关指向了docker0的ip地址,

[root@centos05 ~]# iptables -t nat -nvL

 

可以看到iptables 对这对ip地址做了 SNAT

 

4、外部如何访问容器(以nginx容器为例)

[root@centos05 ~]# docker container run -itd --name nginx-test4 -p 90:80 nginx

 

 浏览器访问nginx容器

 

posted @ 2018-01-15 14:31  厚德载物_VIP  阅读(378)  评论(0编辑  收藏  举报