docker 网络模式

docker 网络模式主要分为四种,可以通过docker network ls 查看

~$ docker network ls                                                                                
NETWORK ID     NAME              DRIVER    SCOPE
a51d97d72f10   bridge            bridge    local
e81fc2ceb013   example_default   bridge    local
9f1ca259d46e   host              host      local
6caa64e1c647   none              null      local
  • bridge

为每一个容器分配设置ip,讲所有容器连接到docker0虚拟网桥,默认该形式

  • host

容器将不会模拟出自己的网卡,配置自己的IP等,而是使用宿主机等IP和端口

  • none

容器有独立的Network namespace,单并没有对其进行任何网络设置

  • container

新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP/端口范围等。

Host 模式

Dcker使用网络命名空间来隔离网络,一个Docker容器一般会分配一个独立的网络命名空间,启动容器时,容器将不会获得独立的网络命名空间,而是和宿主机共用网络命名空间。

容器不会模拟网卡并配置IP地址,而是使用宿主机IP地址和端口。

在host模式下,容器里的文件系统、进程列表等资源和宿主机上隔离的,但容器的网络环境隔离性呗弱化,容器不再有拥有隔离的、独立的网络栈,容器内部不会拥有所有的端口资源,这是因为部分端口资源会被宿主机上的应用服务所占用

containner模式

container模式指定了新创建的容器和已存在的容器共享一个网络命名空间,而不是和宿主机共享,虽然多个容器共享网络环境,但是容器和容器、容器和宿主机之间依然形成了网络隔离,在这一定程度上可以节约网络资源,但是要注意,容器内部依然不会拥有所有的端口资源。

None模式

none模式下,Docker容器拥有自己的网络命名空间,但是并不尽兴任何网络配置,该模式关闭了容器的网络功能,此时容器里没有网卡、IP地址、路由等信息。

Beidge网络模式

在该模式下,Docke守护进程创建了一个虚拟以太网桥docker0,新建的容器会自动桥接到这个借口,附加在其上的任何网卡之间都能自动转发数据包。

默认情况下,守护进程会创建一对对等虚拟设备接口veth pair,将其中一个接口设置为容器等ehi0

接口,另一个接口防止在宿主机等命名空间中,以类似vethxxx这样名字命名,从而将宿主机上的所有容器都连接到这个内部网络上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值