컨슈머 확인 테스트 실패
혼자 공부하다가, 도움이 될까해서 정보남김니다.인텔리제이에서 실행시에 분명 프로바이더가 localhost:9092 즉, 카프카를 호출되게 설정하였는데도 신기하게 도커ID:9092를 가르켜서 정상적으로 연결되지못하였고 원하는 로그를 콘솔창에서 보지못했습니다.원인은 Docker 컨테이너 내부에서 실행 중인 Kafka 브로커가 컨테이너의 내부 호스트 이름을 사용하고 있기 때문에 이런 문제가 발생하는 것 같습니다. Kafka 브로커는 자체 메타데이터에 자신을 '도커아이디:9092'와 같이 컨테이너의 호스트 이름으로 보고하고 있습니다. 그러나 애플리케이션이 컨테이너 외부에서 실행되고 있다면, 'localhost:9092'를 사용해야 합니다.이를위해 리스너설정을추가혔고, docker-compose.yml파일을 아래와같이 수정하였습니다. (주석은 보시기 편하라고넣어뒀습니다.)version: '3' # Docker Compose 파일의 버전을 지정합니다.services: # 서비스 섹션에서는 여러 개의 Docker 컨테이너 서비스를 정의합니다. zookeeper: # Zookeeper 서비스 정의 image: wurstmeister/zookeeper:3.4.6 # Zookeeper 이미지를 지정합니다. ports: - "2181:2181" # 호스트의 2181 포트를 컨테이너의 2181 포트와 바인딩합니다. kafka: # Kafka 서비스 정의 image: wurstmeister/kafka:2.12-2.5.0 # Kafka 이미지를 지정합니다. ports: - "9092:9092" # 호스트의 9092 포트를 컨테이너의 9092 포트와 바인딩합니다. environment: # Kafka 컨테이너의 환경 변수를 설정합니다. KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:29092,OUTSIDE://localhost:9092 # 내부 및 외부에서 접근할 수 있는 리스너 주소를 설정합니다. KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT # 리스너의 보안 프로토콜을 매핑합니다. KAFKA_LISTENERS: INSIDE://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092 # 컨테이너 내부에서 사용할 리스너 주소를 설정합니다. KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE # 브로커 간 통신에 사용할 리스너 이름을 지정합니다. KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 # Kafka가 Zookeeper에 연결하기 위한 주소를 지정합니다. volumes: - /var/run/docker.sock:/var/run/docker.sock # Docker 소켓을 컨테이너와 공유하여 Docker 이벤트를 관리할 수 있게 합니다.저는 이렇게 해결하였는데, 도움이되실까해서 공유드립니다.