当前位置: 首页 > news >正文

两个 Docker 容器如何通信?Docker 网络问题完整踩坑与解决指南

NebulaGraph Studio 连接失败?Docker 网络问题完整踩坑与解决指南(小白友好)

一、问题背景

我在本地使用Docker 部署 NebulaGraph 集群,同时使用Nebula Graph Studio(Web UI)进行可视化管理。

  • Nebula Graph:docker-compose启动
  • Nebula Studio:单独一个 Docker 容器
  • Studio 页面可以正常访问:
    👉http://127.0.0.1:7001

但在Studio 新建连接时,无论怎么填 IP,都会报错。


二、遇到的错误现象

1️⃣ 连接超时错误

ErrBadRequest::failed to open connection dial tcp 13.251.172.174:9669: i/o timeout

三、为什么会这样?(核心原理)
1️⃣ NebulaGraph 架构说明

NebulaGraph 并不是一个单体服务,而是由多个组件组成:

组件 作用 默认端口
nebula-studio Web 管理界面 7001
graphd 查询入口(真正连的服务) 9669
metad 元数据服务 9559
storaged 数据存储 9779

👉 Studio ≠ 数据库本身
👉 Studio 只是一个客户端,需要去连接 graphd

2️⃣ Docker 网络隔离是“真凶”

Docker 中有一个非常重要的概念:
不同 Docker network 之间的容器,默认是完全隔离的

我当时的网络结构是:

nebula-docker-compose_nebula-net ← Nebula Graph 集群
nebula-graph-studio-380_nebula-web ← Nebula Studio

📌 两个 network 不一样!
结果就是:
Studio 容器里 无法解析 graphd 容器名
nebula-graphd / nebula-docker-compose-graphd-1 都找不到
Docker DNS 返回 no such host

四、关键排查过程
1️⃣ 查看正在运行的容器

docker ps

确认:

graphd / metad / storaged 正常运行

Studio 正常运行

2️⃣ 查看 Docker 网络

docker network ls

发现:

Nebula Graph 和 Studio 在不同 network

五、正确解决方案(推荐做法)

✅ 核心思路

让 Nebula Studio 和 Nebula Graph 处在同一个 Docker network

Step 1:确认 Nebula Graph 的 network

docker network ls

例如:

nebula-docker-compose_nebula-net

Step 2:把 Studio 容器加入这个 network

docker network connect nebula-docker-compose_nebula-net nebula-graph-studio-380-web-1

nebula-graph-studio-380-web-1 是 Studio 容器名
用 docker ps 可以确认

Step 3:重启 Studio(必须)

docker restart nebula-graph-studio-380-web-1

六、Studio 中的正确连接方式

打开浏览器:

http://127.0.0.1:7001

新建连接,填写:

Host: nebula-docker-compose-graphd-1 Port: 9669 Username: root Password: nebula

📌 关键点:

Host 填的是 graphd 容器名
不是 127.0.0.1
不是公网 IP
是 Docker 内部 DNS 名称

两个 Docker 容器如何通信?

Docker 容器之间通信,优先使用:

👉 同一个 Docker network + 容器名(或 service name)

http://www.jsqmd.com/news/290522/

相关文章:

  • 芒格的“避免失败“原则在前沿科技投资中的重要性
  • 关与短链接API,其中稳定无毒的少之又少。
  • 数据结构——冒泡排序 - 教程
  • 机械制造ToB企业获客困境与数字化解决方案架构深度解析
  • Java毕设项目:基于springboot的二次元商品商城系统(源码+文档,讲解、调试运行,定制等)
  • Java计算机毕设之基于SpringBoot + Vue的电子产品手机数码销售系统基于springboot的电子产品电子外设销售系统(完整前后端代码+说明文档+LW,调试定制等)
  • 【毕业设计】基于springboot的二次元商品商城系统(源码+文档+远程调试,全bao定制等)
  • 【课程设计/毕业设计】基于springboot的电子产品销售系统基于springboot的电子产品电子外设销售系统【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于SpringBoot与Vue的动漫周边商场系统设计与实现基于springboot的二次元商品商城系统【附源码、数据库、万字文档】
  • MyEMS开源能源管理系统:赋能生物化学农药及微生物农药制造业绿色低碳转型
  • 开源驱动零碳实践:MyEMS 赋能零碳工厂建设的核心路径
  • 服装加工ERP系统是什么?它能为企业带来哪些效率提升?
  • 【工具变量】全国地级市文旅融合DID数据集(2008-2025年)
  • 10399_基于SpringBoot的智慧养老院管理系统
  • 诺斯罗普·格鲁曼加速辐射测试
  • 代码源挑战赛 Round 47
  • 26年1月23算法
  • 编辑标题
  • Java数据结构*Map和 Set*
  • Java毕设选题推荐:基于springboot的电子产品电子外设销售系统基于springboot的电子产品销售系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的动漫周边商城的设计与实现基于springboot的二次元商品商城系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 施耐德 KNX 系统赋能国家储能大厦:智能能源管理与 ESG 解决方案实践
  • Java毕设项目推荐-基于springboot的二次元商品购物商城系统基于springboot的二次元商品商城系统【附源码+文档,调试定制服务】
  • 花 6888 元拿下 PMP证书!到底是报班还是自学?
  • 导师严选2026 TOP8 AI论文写作软件:研究生开题报告神器测评
  • Java毕设项目推荐-基于SpringBoot+Vue的宠物咖啡馆平台管理系统基于springboot的宠物咖啡平台管理系统【附源码+文档,调试定制服务】
  • 【计算机毕业设计案例】基于springboot的宠物咖啡平台管理系统基于SpringBoot+Vue的宠物咖啡馆平台管理系统(程序+文档+讲解+定制)
  • 【计算机毕业设计案例】基于springboot的电子产品电子外设销售系统基于SpringBoot + Vue的手机电脑相机电子产品销售系统(程序+文档+讲解+定制)
  • 【计算机毕业设计案例】基于springboot的二次元商品商城系统基于springboot的二次元商品购物商城系统(程序+文档+讲解+定制)
  • 救命神器10个AI论文平台,本科生搞定毕业论文!