You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker默认桥接网络中容器如何通过别名或名称实现互访?

在Docker默认桥接网络中通过容器名称/别名实现互访的方法

嘿,这个问题其实Docker默认桥接网络已经帮我们搞定了核心的DNS解析能力,不用额外搞复杂的配置~我给你分享几种简单直接的实现方式:

  • 直接使用容器名称访问
    Docker的默认桥接网络(就是你说的network_mode: bridge对应的那个)内置了DNS服务,会自动把容器名称映射到它的内网IP。你只需要在创建容器的时候给它指定一个明确的名称就行:

    docker run --name web-container nginx
    docker run --name api-container node
    

    这时候在api-container里要访问web-container,直接用web-container这个名称代替IP就行,比如执行curl web-container就能拿到nginx的默认页面,完全不用记172.17.0.X这种随机IP。

  • 用自定义别名访问(更灵活)
    如果不想暴露容器的真实名称,或者需要给同一个容器设置多个访问标识,可以用--network-alias参数添加别名:

    docker run --name mysql-db --network-alias db --network-alias prod-mysql mysql:8
    

    这样其他容器既可以用mysql-db(真实名称)访问,也可以用db或者prod-mysql这两个别名来访问,适配不同的业务场景更方便。

  • 快速验证解析是否生效
    你可以随便进入一个容器,用ping或者curl测试一下:

    docker exec -it api-container ping web-container
    # 或者测试别名
    docker exec -it api-container ping db
    

    能正常ping通的话,就说明DNS解析已经工作了,后续业务代码里直接用这些名称/别名就行。

补充个小提醒:所有要互访的容器必须都在同一个默认桥接网络里(也就是没手动指定其他自定义网络的容器),这个前提满足的话,上面的方法都能直接用。

内容的提问来源于stack exchange,提问作者Jumpa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:36:50