亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

容器啟動時應用程序錯誤地解析了 Docker 別名

容器啟動時應用程序錯誤地解析了 Docker 別名

Go
一只甜甜圈 2023-06-19 17:22:40
我正在創建兩個 docker-compose 文件(主要是因為我不想在開發我的應用程序時必須不斷重啟我的基礎設施。)它們需要駐留在同一個 docker 網絡上,以便它們可以使用別名進行連接。這些文件類似于以下內容:應用程序:version: '3.5'networks:  default:    name: kafka_network    driver: bridgeservices:  client:    build:      context: .      dockerfile: ./Dockerfile    working_dir: /app/    command: ./client    environment:      BADDR: kafka:9092      CGROUP: test_group      TOPICS: my-topic基礎設施:version: '3.5'networks:  default:    name: kafka_network    driver: bridgeservices:  zookeeper:    image: confluentinc/cp-zookeeper:latest    ports:      - 2181:2181    environment:      ZOOKEEPER_CLIENT_PORT: 2181      ZOOKEEPER_TICK_TIME: 2000  kafka:    image: confluentinc/cp-kafka:latest    depends_on:      - zookeeper    ports:      - 9092:9092    environment:      KAFKA_BROKER_ID: 1      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1我的問題是客戶端沒有正確解析 kafka:9092 ...它總是解析為127.0.0.1:9092.錯誤:Broker:  kafka:9092Consumer_Group:  my_groupTopics:  [my-topic]Created Consumer rdkafka#consumer-1% Error: GroupCoordinator: Connect to ipv4#127.0.0.1:9092 failed: Connection refused (after 0ms in state CONNECT)在本地運行時,它似乎運行良好,所以我真的很困惑可能是什么問題。如果有人對此有所了解,我將不勝感激!當地的:[procyclinsur@P-428 client]$ ./clientBroker:  localhost:9092Consumer_Group:  my-groupTopics:  [my-topic]Created Consumer rdkafka#consumer-1% AssignedPartitions: [my-topic[0]@unset]% Message on my-topic[0]@0:hello mate
查看完整描述

1 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

這是與您的 Kafka 配置相關的問題——根本與 docker 無關。

旁觀:

??KAFKA_ADVERTISED_LISTENERS:?PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092

這意味著您為您的 Kafka 設置了 2 個偵聽器,您的客戶端在連接時將在 Kafka 的協議中收到這些偵聽器。

因此,當您連接到端口 9092 時,您的客戶端將嘗試通過“localhost”獲取 Kafka,而當您連接到端口 29092 時,您的客戶端將嘗試通過“kafka”DNS 名稱獲取 Kafka。

它在本地為您工作,因為您的 Kafka 容器通過 docker 端口部分暴露在 localhost:9092 上。

查看完整回答
反對 回復 2023-06-19
  • 1 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號