공부
[kafka] docker-compose
승가비
2022. 11. 3. 15:29
728x90
version: "3.9"
services:
zookeeper:
platform: linux/x86_64
image: wurstmeister/zookeeper
container_name: seunggabi-zookeeper
restart: always
ports:
- 2181:2181
networks:
seunggabi-net:
ipv4_address: 172.16.240.17
kafka:
platform: linux/x86_64
image: confluentinc/cp-kafka
container_name: seunggabi-kafka
restart: always
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://seunggabi-kafka:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_AUTO_CREATE_TOPICS_ENABLE: true
KAFKA_NUM_PARTITIONS: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
seunggabi-net:
ipv4_address: 172.16.240.18
schema-registry:
platform: linux/x86_64
image: confluentinc/cp-schema-registry
container_name: seunggabi-schema-registry
restart: always
depends_on:
- zookeeper
- kafka
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://localhost:9092
SCHEMA_REGISTRY_HOST_NAME: schema-registry
SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8085
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
ports:
- 8085:8085
networks:
seunggabi-net:
ipv4_address: 172.16.240.19
links:
- kafka
extra_hosts:
- localhost:172.16.240.18
akhq:
image: tchiotludo/akhq
container_name: seunggabi-akhq
restart: always
environment:
AKHQ_CONFIGURATION: |
akhq:
connections:
docker-kafka:
properties:
bootstrap.servers: localhost:9092
schema-registry:
url: http://schema-registry:8085
ports:
- 9999:8080
depends_on:
- zookeeper
- kafka
- schema-registry
networks:
seunggabi-net:
ipv4_address: 172.16.240.16
links:
- kafka
- schema-registry
extra_hosts:
- localhost:172.16.240.18
- schema-registry:172.16.240.19
networks:
seunggabi-net:
ipam:
driver: default
config:
- subnet: 172.16.240.0/24
How To Use 카프카 도커 이미지
도커 이미지 쓸거면 이거 쓰기이거 있어야 외부 주소로 노출해서 클라이언트가 연결시킴 -> 안그러면 내부 호스트 주소로 연결돼는데 만약에 도달 못하면 그게 문제가 되는것일단 LISTENER이 카프
velog.io
728x90