Docker的三种原生网络bridge,host,none

docker自带的网络模式有bridge,none,host,container4种,
docker network ls #查看docker网络

一、bridge模式
docker的默认模式,docker进程第一次启动会创建一个docker0虚拟网桥,
此宿主机上启动的容器会默认连接到这个网桥上,容器通过这块网桥NAT访问外部网络,
当执行docker run 加入-p参数时,实际是在iptables中加入了对应的DNAT端口转发规则。
二、host模式
host模式的容器跟宿主机共用一个namespace,拥有一样的IP和路由,因此容器内的服务端口不能跟宿主机相同
三、none模式
none模式创建的容器没有添加网卡,需要自行配置
四、container模式
container模式创建一个跟指定容器共用网络的新容器

搭建实验环境

docker的三种原生网络
查看三种原生网络
在这里插入图片描述
容器的宿主机server1上面多了一个网桥接口,这个桥接接口供容器和外界通信
在这里插入图片描述

(1)bridge模式
可以看到目前没有容器正在运行,宿主机的桥接接口上面也没有容器
在这里插入图片描述
运行一个容器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
docker inspect 5eef90e2528a
在这里插入图片描述
可以看到这个容器的ip与桥接接口在一个网段,并且ip地址以网桥ip为基础递增,以网桥ip为网关

关闭刚才运行的容器,发现桥接就没有了
在这里插入图片描述
关闭容器的时候宿主机就不能ping通容器
开启容器的时候宿主机就能ping通容器

在这里插入图片描述
以上就是基本的bridge模式,一般开启的容器默认使用的也是这种网络模式
注意:bridge模式只有宿主机才能与运行在其上面的容器进行通信

(2)host模式
在这里插入图片描述
在这里插入图片描述
以host模式运行一个容器vm1
在这里插入图片描述
宿主机上
在这里插入图片描述
可以看到容器和宿主机的ip一模一样
但可以看到宿主机和容器的运行环境不一样,这就是容器共享宿主机的网络
在这里插入图片描述
清理一下实验环境,接下来host模式运行一个nginx容器
在这里插入图片描述
在真机上可以访问到宿主机的ip,看到nginx服务的默认页面,其实访问的是容器
因为容器的ip与宿主机的ip一模一样

在这里插入图片描述
因为不是bridge模式所以没有桥接
在这里插入图片描述
可以看到nginx服务开启的80端口
在这里插入图片描述
(3)none模式
在这里插入图片描述
可以看到只有回环接口,宿主机禁止容器使用网络
对于那种比较机密的服务所在的容器可以使用这种网络模式(例如数据库)

在这里插入图片描述

清理一下实验环境
在这里插入图片描述
接下来验证bridge模式的ip递增
vm1 的ip为172.17.0.2
在这里插入图片描述
ctrl p+q不要退出,继续run一个vm2
vm2 的ip为172.17.0.3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
没有域名解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值