首页/云/云与容器速查/docker network create 自定义网络
容器与 Docker106 条

docker network create 自定义网络

创建自定义网络(bridge/overlay 等):同一网络内容器可用容器名互相解析,还能自定义子网、网关与隔离边界。

云与容器速查云更新于 2026-10-13

docker network create 是什么

docker network create 创建自定义网络,最常用的是 bridge 驱动。与默认的 docker0 相比,自定义网络内建 DNS:同一网络内的容器可以用容器名互相解析,不必依赖已经废弃的 --link。不同网络之间默认互不可达,天然形成隔离边界,这也是单机上做多套环境互不干扰的基础。

基本信息

语法docker network create [--driver 驱动] [--subnet 网段] 名称
DNS自定义网络内建解析,容器名与别名映射到 IP
隔离不同网络内的容器默认不通,需 connect 才能打通
驱动bridge 用于单机,overlay 用于跨主机集群场景
查看docker network ls 与 docker network inspect 名称

典型使用场景

  • 单机多服务:web 与 api 放同一网络,直接按服务名互访
  • 环境隔离:测试与预发各建一个网络,容器名可重复且互不干扰
  • 自定义网段:避开与办公网或 VPC 重叠的默认网段
  • 临时打通:把运行中的容器 connect 到另一个网络做联合调试
  • 多项目共存:每个项目一个网络,避免服务名冲突导致的连线错误

创建与使用

创建与使用
docker network create --driver bridge --subnet 172.20.0.0/16 appnet
# 指定网段可避开与 VPC 或办公网重叠导致的互通问题
docker run -d --name api --network appnet myapi:1.0
docker run -d --name web --network appnet -p 80:80 myweb:1.0
# web 容器内可直接用服务名访问:curl http://api:8080
docker network connect appnet older-container   # 把已有容器接进网络
docker network inspect appnet                   # 查看网段与已连接容器

网络驱动对照

驱动范围特点适用
bridge单机默认驱动,内建 DNS单机多容器互联
host单机共用宿主网络栈,无隔离极致性能、端口冲突需自负
overlay跨主机需集群支持Swarm 等多机场景
none单机只有回环,无网络纯计算任务、强隔离
自定义网络的子网要与 VPC、办公网及对端网段错开:网段重叠会导致容器访问内网服务时路由冲突,表现为间歇性连不上,排查非常费时。
docker compose 会自动为项目创建专属网络,服务名解析开箱即用,比手工管理默认 bridge 网络省心得多;单机多容器场景优先用 compose。

易错点

  • 子网与 VPC 或办公网重叠,跨网访问出现路由冲突
  • 新容器忘了加 --network,名字解析失败却一直怀疑应用配置
  • 不同网络之间直接拼服务名,DNS 只解析同网络容器,报名称解析错误
  • 把容器 IP 写进应用配置,容器重建后 IP 变化导致连接失败
  • 只创建网络不记录用途,时间一长无人敢删,网络数量无限膨胀

数据来源与参考

  • Docker Docs:docker network create

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌