반응형
local 에서 docker 를 이용햇 kafka 서버를 구축하자
docker search kafka 를 통해 검색해 보면
wurstmeister/kafka 가 스타가 제일 많다.
https://hub.docker.com/r/wurstmeister/kafka -- 여기에서 kafka docker 관련 옵션 설명 확인가능하다.
kafka in docker 구조
도커 카프카 네트워킹에 대한 설명 레퍼런스이다.
github.com/wurstmeister/kafka-docker/wiki/Connectivity
docker 로 kafka 를 올리면 다음과 같은 구조가 된다.
multiple 카프카 브로커로 설정도 가능하다.
이런식으로 구성해주면
다음과 같이 9092 단일포트로 브로커가 구성된다.
단일 카프카 브로커일때는
# KAFKA_ADVERTISED_HOST_NAME 옵션을 127.0.0.1 로 하겠지만 multiple 로 할때는 외부에서 접근 가능한 ip 를 넣어야 한다.
docker-compose-yml 작성
version: '3.3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.12-2.5.0
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
KAFKA_ADVERTISED_HOST_NAME는 본인의 docker host ip로 수정
multi broker를 사용하지 않고 로컬용이므로, 127.0.0.1로 사용
kafka 확인
카프카 툴로 접속 확인
또는 docker 로 접속 후 kafka-topics.sh 를 실행하여 확인가능하다.
# docker container exec -it kafka bash
# kafka-topics.sh --list --bootstrap-server localhost:9092
kafka 도커에 접속 후 kafka 토픽 리스트를 조회할 수 있다.
카프카 공식 문서
반응형
'인프라 > docker' 카테고리의 다른 글
[docker] 도커 redis 설치 및 접속 (2) | 2021.01.12 |
---|---|
[docker] 도커 jenkins 시작하기 (0) | 2020.12.18 |
[docker] MongoDB 도커 설치 및 실행(몽고디비) (0) | 2020.09.22 |
[docker] mysql 을 docker 로 시작하기 (0) | 2020.07.05 |
[docker] 도커 기본 명령어 (0) | 2020.07.04 |