美文网首页
docker的三种网络模式

docker的三种网络模式

作者: Chaweys | 来源:发表于2021-07-20 23:02 被阅读0次

桥接模式:bridge

docker容器默认三种网络模式:
bridge: 桥接模式 [默认网络模式]
host:   主机模式
none:   无网络模式 [不常用-测试用]

容器内安装
yum -y install net-tools
容器内执行查看网路路由的配置,网关等
route -n
[root@554a2b845d11 /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.17.0.1      0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
说明容器的网关都是172.17.0.1


ip addr 查看容器内的IP地址情况
没启动一个容器,即多一个容器网卡


宿主机安装
yum install -y bridge-utils
桥接模式查看桥接情况:
[root@localhost ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.024252d62730       no              veth3bbaad5
                                                        veth6749a7f
docker0网卡可桥接多个容器网卡,这样宿主机即可和各个容器相互连接
桥接网络模式.png

启动nginx容器命令并防火墙放开80端口:
docker run -d --net=host mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
--net=host  表示指定host主机网络模式{若不指定默认采用桥接模式}
这种启动容器方式是无IP地址,即复用宿主机的IP地址和端口。


docker inspect 37eef08aaff2
查看上述指定host网络模式的容器详情,可得知容器无IP地址无网关,即复用宿主机的IP地址和端口。
 "Gateway": "",
 "IPAddress": ""
 
直接使用宿主机IP:80 访问nginx{nginx默认启动端口80}


如果访问不通,可设置防火墙
查看防火墙状态:
firewall-cmd --state
防火墙放开指定端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
重新加载防火墙:
firewall-cmd --reload
host网络模式.png

相关文章

网友评论

      本文标题:docker的三种网络模式

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