Bridge模式
这是Docker的默认网络模式,通过虚拟网桥连接容器与主机。
该模式为每个容器分配独立的网络命名空间,支持端口映射实现容器与外部网络的通信。默认桥接网络不支持容器名称解析,需要自定义桥接网络才能实现该功能。
Host模式
容器与主机共享网络命名空间,直接使用主机的网络接口和IP地址。
这种模式网络性能接近原生,几乎没有额外开销,且无需端口映射即可直接暴露容器端口。但缺点是容器与主机网络完全共享,缺乏隔离性,存在端口冲突风险。
None模式
该模式下容器没有任何网络接口,处于完全的网络隔离状态
这提供了最高的网络隔离性和安全性,能有效防止外部访问,但代价是容器无法与其他容器或外部网络进行任何通信。
Container模式 新创建的容器与已存在的容器共享同一个network namespace,实现网络环境的共享。
Overlay模式
专为跨主机容器通信设计,通过虚拟网络将多个Docker主机连接在一起。主要适用于Docker Swarm集群或多主机环境下的容器通信场景,虽然支持跨主机通信并提供高可用性,但配置相对复杂且性能开销较高。
Macvlan模式
为容器分配独立的MAC地址,使其在物理网络中表现为独立的网络设备。这种模式适用于需要容器直接接入物理网络的场景,如网络设备模拟,虽然网络性能接近原生,但需要物理网络支持且MAC地址管理较为复杂。
IPvlan模式
与Macvlan类似,但容器共享主机的MAC地址,仅使用独立的IP地址。这种模式支持更多的容器实例,不占用额外MAC地址资源,网络性能同样接近原生,但配置复杂且需要物理网络支持
bashdocker network create -d 网桥名称
jsdocker network ls
jsdocker network inspect 网桥名称
jsdocker network rm 网桥名称
jsdocker run -d -p 8080:8080 --name tomcat01 --network ems tomcat:8.0
注意
--network ems 是网络名称
jsdocker network connect 网桥名称 容器id
这样两个容器就能相互访问。
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!