Docker 网络入门:bridge、host 和自定义网络怎么选

举报
yd_266952352 发表于 2026/11/09 03:03:42 2026/11/09
【摘要】 容器之间怎么通信?端口映射为什么丢性能?理解 Docker 的三种网络模式,这些问题都有答案。

容器之间怎么通信?为什么端口映射有性能损耗?理解 Docker 的三种网络模式,这些问题都有清晰答案。

一、bridge:默认模式

不指定网络时容器都接在 docker0 网桥上,通过 NAT 访问外网、通过 -p 8080:80 把端口映射到宿主机。优点是隔离性好、通用;缺点是 NAT 转换有一层开销,高并发场景吞吐会受影响。

二、host:无隔离直通

docker run --network host 时容器直接使用宿主机网络栈,没有 NAT 开销,性能最好;代价是端口直接暴露、容器间无隔离,适合对性能敏感的网关类服务,安全上要慎用。

三、自定义网络:容器互访的正确姿势

docker network create appnet && docker run --network appnet --name web nginx——同一自定义网络里的容器可以用容器名当主机名互访(web:80),不用记 IP。compose 文件里的服务互相调用就是基于这个机制。

选型口诀:单机多容器协作用自定义网络,性能敏感用 host,临时测试用默认 bridge。用 docker network inspect appnet 可以查看网络里的成员和 IP 分配,排障时第一步先看它。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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