docker network网络

网络分类

bridge网络

bridge是docker默认网络模式,docker安装后会选择一个私有网段作为bridge的子网,在我们创建容器时默认会将容器网络加入到这个子网中。

原理:Docker Daemon(后台进程) 利用 veth pair 技术,在宿主机上创建一对对等虚拟网络接口设备(veth pair)用于连接网桥(docker0)和容器, veth pair 技术的特性可以保证无论哪一个 veth 接收到网络报文,都会将报文传输给另一方。

注意:通过docker-compose构建的容器会自动创建一个名为文件夹名_default的桥接网络。

host网络

采用 host 网络模式的 Docker Container,可以直接使用宿主机的 IP 地址与外界进行通信,若宿主机的 eth0 是一个公有 IP,那么容器也拥有这个公有 IP。同时容器内服务的端口也可以使用宿主机的端口,无需额外进行 NAT 转换;

host 网络模式可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少隔离性。

none 网络模式

none 网络模式即不为 Docker Container 创建任何的网络环境,容器内部就只能使用 loopback (本地回路)网络设备,不会再有其他的网络资源。

container 网络模式

Container 网络模式是 Docker 中一种较为特别的网络的模式。在创建容器时通过参数 --net container:已运行的容器名称|ID 或者 --network container:已运行的容器名称|ID 指定;

处于这个模式下的 Docker 容器会共享一个网络栈,这样两个容器之间可以使用 localhost 高效快速通信。

Container 网络模式即新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等。同样两个容器除了网络方面相同之外,其他的如文件系统、进程列表等还是隔离的。

更多细节可以查看:https://zhuanlan.zhihu.com/p/212772001

相关推荐
余~~185381628002 分钟前
矩阵碰一碰发视频之 API 接口接入技术开发全解析,支持OEM
网络·microsoft·php
loyd39 分钟前
【数据分析】5 设计不同业务分析框架
java·网络·数据分析
前端小菜鸡yy35 分钟前
流式输出方案:sse与websocket的使用
网络·websocket·网络协议·sse
我们的五年1 小时前
内网穿透:打破网络限制的利器
服务器·网络·生活
cd小白2 小时前
IO进程 day05
linux·服务器·c语言·网络·io进程
微尘hjx2 小时前
【Wireshark 02】抓包过滤方法
网络·测试工具·wireshark
清平调A3 小时前
CentOS环境安装Docker
linux·docker·centos
心随_风动4 小时前
网络基础 —HTTP与HTTPS的基本介绍
网络·http·https