Dockerfile은 아래처럼 (현시점 태그는 3.9.0)

FROM bitnami/kafka:latest
 
ENV KAFKA_PROCESS_ROLES=broker,controller
ENV KAFKA_NODE_ID=1
ENV KAFKA_CONTROLLER_QUORUM_VOTERS=1@localhost:9093
ENV KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
ENV KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
ENV KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
ENV KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
ENV KAFKA_LOG_DIRS=/tmp/kraft-logs
ENV KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true

 

 

실행

docker build -t kafka-local .
 
docker run -d -p 9092:9092 -p 9093:9093 kafka-local

 

 

 

topic 생성

docker exec -it kafka-local kafka-topics.sh --create \
  --topic mytopic \
  --bootstrap-server localhost:9092 \
  --partitions 1 \
  --replication-factor 1

 

 

메시지 전송

docker exec -it kafka-local kafka-console-producer.sh \
  --topic mytopic \
  --bootstrap-server localhost:9092
 
# > 프롬프트가 뜨면 아무 메시지나 입력하고 엔터키 입력 후 ctrl + D로 빠져 나옴

 

 

 

메시지 확인

docker exec -it kafka-local kafka-console-consumer.sh \
  --topic mytopic \
  --bootstrap-server localhost:9092 \
  --from-beginning
 
# 전송된 메시지 확인 후 ctrl + C

 

 

 

 

 

Posted by bloodguy
,