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

相关推荐
我叫汪枫13 小时前
《拆解一封网络信:HTTP 报文详解》
网络·网络协议·http
ByteBeacon13 小时前
Argo Workflows:Kubernetes上的工作流引擎
其他·云原生·容器·kubernetes
java_logo13 小时前
Docker 部署 CentOS 全流程指南
linux·运维·人工智能·docker·容器·centos
甄心爱学习14 小时前
计算机网络6
网络·计算机网络
你好,赵志伟14 小时前
NAT、代理服务、内网穿透
网络·智能路由器
一个处女座的程序猿O(∩_∩)O14 小时前
实现 AI 流式响应:从等待到实时交互的技术解析
网络·人工智能·交互
周杰伦_Jay14 小时前
【计算机网络核心】TCP/IP模型与网页解析全流程详解
网络·网络协议·tcp/ip·计算机网络·算法·架构·1024程序员节
盒马盒马15 小时前
Rust:函数与控制流
开发语言·网络·rust
DarkAthena15 小时前
【Docker】定制化构建一个可以运行GaussDB的kylinv10sp3系统的docker镜像
数据库·docker·容器·gaussdb