docker的网络模式

一、bridge 桥接模式(默认模式)

1.模式说明

  • 原理:所有容器连接到默认docker0虚拟网桥,宿主机充当网关
  • 容器独立内网 IP,外部无法直接访问容器 IP,必须端口映射
  • 容器之间可通过 IP 互通,宿主机可直接访问容器 IP

2.应用场景

Nginx、Java 后端、MySQL、Redis 单机部署

bash 复制代码
docker run -d -p 8080:80 nginx
  • 容器内网互通:Java ↔ MySQL ↔ Redis
  • 外网通过宿主机端口访问服务
  • 隔离安全,端口不冲突,运维最简单

二、host 主机模式

1.模式说明

  • 原理:容器共享宿主机网络栈,不独立 IP
  • 容器 IP = 宿主机 IP,端口直接占用宿主机端口
  • 无网络隔离,性能最好,不能端口冲突

2.应用场景

Prometheus、Grafana、Filebeat、节点监控

bash 复制代码
docker run -d --net=host prom/prometheus
  • 无需端口映射,性能零损耗
  • 容器直接读取宿主机网卡、端口、网络状态
  • 监听大量随机端口场景

三、none 无网络模式

1.模式说明

  • 容器只有 lo 回环网卡,完全没有外网、内网通信
  • 极致安全,仅本地单机运算、离线任务

2.应用场景

离线数据清洗、本地加密解密、涉密后台任务

容器完全不联网,杜绝外网攻击、数据外泄,只在容器内部运算

四、container 容器共享网络

1.模式说明

  • 多个容器共用同一个网络命名空间、同一个 IP
  • 端口不能重复,进程间本地 socket 通信极快

2.应用场景

A 容器启动后,B 容器共享 A 网络

bash 复制代码
docker run --name app nginx
docker run --net=container:app alpine

两个容器同一个 IP、同一个端口栈,本地通信 0 延迟

五、overlay 覆盖网络(集群分布式)

1.模式说明

  • 跨多台 Docker 主机容器互通,原生支持 Swarm 集群
  • 容器跨节点依然内网直连,无需外网端口暴露

2.应用场景

服务 A 在节点 1,服务 B 在节点 2

Overlay 让跨主机容器内网直接互通,不用公网 IP、不用端口转发 天生服务发现、负载均衡、集群 DNS

六、Docker 网络常用运维命令

bash 复制代码
# 查看所有网络
docker network ls

# 查看网络详情、挂载容器
docker network inspect bridge

# 创建自定义网桥网络
docker network create app-net

# 容器加入自定义网络
docker run --net=app-net nginx

# 删除无用网络
docker network prune
相关推荐
JeJe同学6 小时前
Docker镜像导入、容器启动
linux·运维·docker
木子n16 小时前
车载以太网与SOME/IP服务化通信实战-01.从字节到服务:SOME/IP报文解析与四通道开销账
网络·网络协议·tcp/ip·车载以太网·some/ip
Escalating_xu8 小时前
【C 语言】数据在内存中的存储:补码、大小端、整型陷阱与 IEEE 754 全解析
java·c语言·网络
爱跳舞的烤冷面8 小时前
Linux篇——网络编程
网络
Knight_AL9 小时前
基于 Netty 实现的 WebSocket 服务端
网络·websocket·网络协议
wuyk55511 小时前
《WiFi 嵌入式物联网开发全套实战》| 第 31 章 休眠唤醒 WiFi 断连、时间同步、网络恢复机制
网络·物联网·php
元Y亨H11 小时前
基于 Jenkins + Docker 的前端(Vben Admin)CI/CD 踩坑
docker·jenkins
沫璃染墨11 小时前
从零入门计算机网络系列(一):计算机网络初识——从网络发展史到TCP/IP协议》
linux·网络·网络协议·tcp/ip·计算机网络
王大傻092811 小时前
堆叠注入(Stacked Queries Injection)详解:原理、利用与防御
服务器·网络·数据库·web安全·网络安全
艾芯微科技11 小时前
钰泰 ETA5055V330DD1E|SOT-223 3.3V LDO,低压差、大电流线性稳压选型分享
网络·单片机·嵌入式硬件·集成测试·51单片机