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

如何将Java Producer连接到Conduktor容器中预配置的Red Panda Kafka?

解决方案

核心原因

redpanda-1:9021是容器内部网络的服务名与端口,只有在Docker默认桥接网络内的服务才能解析访问,本地主机或不在同一容器网络的外部应用无法直接识别这个地址。

方法一:端口映射(推荐)

  1. 打开当前目录下的docker-compose.yml,找到redpanda-1服务的配置块,添加端口映射规则:
services:
  redpanda-1:
    # 保留原有配置,新增以下ports项
    ports:
      - "9092:9021"  # 将容器内的9021端口映射到本地主机的9092端口
  1. 重启容器使配置生效:
docker compose down && docker compose up -d --wait
  1. 修改Java Producer/Consumer的bootstrap server配置为localhost:9092,即可正常连接。

方法二:让Java应用加入容器网络

如果你的Java应用通过Docker运行,可直接让它加入Conduktor启动的容器网络:

  1. 查看当前容器网络名称:
docker network ls | grep conduktor

(通常名称为当前目录名加_default,比如kafka-learning_default)
2. 运行Java应用容器时,添加--network参数指定该网络:

docker run --network <你的容器网络名称> your-java-app-image

此时Java应用可直接使用redpanda-1:9021作为bootstrap server地址。

方法三:修改本地hosts文件(不推荐)

编辑本地hosts文件:

  • Windows:C:\Windows\System32\drivers\etc\hosts
  • Linux/macOS:/etc/hosts

添加一行:

127.0.0.1 redpanda-1

同时确保docker-compose.yml中redpanda的9021端口已映射到本地(参考方法一的端口映射配置),之后修改Java应用的bootstrap server为redpanda-1:9021即可。但该方法会污染本地hosts配置,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:03:05