Docker 网络模式入门:bridge、host 与容器互通的原理

举报
yd_237757519 发表于 2026/11/07 12:27:11 2026/11/07
【摘要】 bridge 自定义网络支持容器名互通、host 共享宿主栈性能最强、-p 端口映射最直观:三种 Docker 网络模式的原理与选型建议,跨主机通信是下一站。

容器之间怎么互相访问?容器里的服务怎么暴露给外部?答案都在 Docker 的网络模式里。这篇入门讲清三种常用模式与选型建议。

一、bridge:默认的隔离网络

不指定网络时,容器都接入 docker0 网桥。同一 bridge 网络里的容器可以用容器名互相访问(需自定义网络,默认 bridge 不支持 DNS 解析):

docker network create app-net
docker run -d --name db --network app-net mysql:8.0
docker run -d --name app --network app-net myapp:1.0
# app 容器内直接 ping db 互通

二、host:共享宿主机网络

docker run -d --network host nginx

容器直接使用宿主机的网络栈,性能最好、无需端口映射,但端口冲突需自己管理,且隔离性最弱。对性能敏感的代理、网关类服务常用。

三、端口映射:最常用的暴露方式

docker run -d -p 8080:80 nginx   # 宿主 8080 → 容器 80

-p 参数把容器端口映射到宿主机,外部用户访问宿主端口即可到达容器服务。

四、选型建议

  • 单机多容器协作:自定义 bridge 网络(支持容器名 DNS);
  • 追求极致性能:host 模式(Linux);
  • 对外暴露少量服务:-p 端口映射最直观。

结语:理解三种模式的隔离与性能取舍,容器网络的绝大多数问题都能解释清楚。跨主机通信则是下一站——Swarm/K8s 的领域。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。