Docker 网络模式选型记录

Docker 网络模式选型记录最近在帮同事看一个老项目的网络问题，顺便把 docker 的几种网络模式重新理了一遍。每次用都要查文档，这次记下来，希望下次能直接抄自己的笔记。 bridge（默认）最常用的模式，docker 0 网桥 + NAT。容器之间通过 IP 互通。 docker run -d -p 8080:80 nginx:alpine # 外部访问 host:8080 → 容器:80 坑：docker0 的子网有时候会和宿主机局域网冲突。改 daemon.json： { "bip": "192.168.200.1/24", "default-address-pools": [ { "base": "192.168.201.0/24", "size": 24 } ] } user-defined bridge（推荐） docker network create --driver bridge my-net docker run -d --network my-net --name web nginx:alpine docker run -d --network my-net --name api my-api:latest 支持自动 DNS 解析，容器名可以直接 ping。 host 容器和宿主机共享网络栈，没有网络隔离。 docker run -d --network host nginx:alpine overlay 跨主机的容器网络，docker swarm / k8s 用。适用：swarm / k8s 集群多节点通信。