docker--最全的网络类型(7类)

发布于:2023-01-20 ⋅ 阅读:(16) ⋅ 点赞:(0) ⋅ 评论:(0)

目录

1bridge桥接模式(默认)

2.host

3.overlay

4.ipvlan

5.macvlan

6.none

7.container


官网有六类:

Networking overview | Docker Documentation

#查看容器网络类型的命令:

docker network ls

1bridge桥接模式(默认)

当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。

他允许同一桥接网络的容器相互进行通讯,同时提供与未桥接到该桥接网络的容器隔离

具体操作

创建一个网桥
docker network create my-net
让容器使用这个网桥
docker run --name scout-nginx-1 --network my-net -p 5566:80 -d nginx
查看网桥详细信息
docker network inspact my-net
断开
docker  network disconnect my-net container_name

2.host

如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。

3.overlay

在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式。

网络实际上是目前最主流的容器跨节点数据传输和路由方案,底层原理VXLANR, Overlay 网络将多个 Docker 守护进程连接在一起,允许不同机器上相互通讯,同时支持对消息进行加密,实现跨主机的docker容器之间的通信,Overlay网络将多个Docker守护进程连接在一起,使swarm服务能够相互通信。这种策略消除了在这些容器之间进行操作系统级路由的需要。

什么是VXLAN?vxlan和vlan数据报文 - mrwuzs - 博客园

4.ipvlan

这个需要4.2的内核版本

ipvlan和overlay都可以实现不同主机上的容器之间的通讯,但是ipvlan是所有容器都在一个网段,相当于在一个vlan里面,然后可以通过不同的子接口对应不同网段,实现不同容器之间的通讯。而overlay可以实现不同网段之间的通讯。

5.macvlan

为每个容器的虚拟网络接口分配一个 MAC 地址,使其看起来是直接连接到物理网络的物理网络接口。在这种情况下,您需要在 Docker 主机上指定一个物理接口以用于 .macvlan以及 子网和网关macvlan。您甚至可以macvlan使用不同的物理网络接口隔离您的网络。

6.none

Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

7.container

这个模式指定新创建的容器和引进存在的一个容器共享一个network namespect ,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的ip,而是和一个指定的容器共享ip,端口等,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信

注:

不能ssh到容器里面去:容器里面没有安装ssh,没有去监听ssh的22号端口


网站公告

欢迎关注微信公众号

今日签到

点亮在社区的每一天
签到