docker network create -d bridge --subnet 10.10.20.0/24 --gateway 10.10.20.1 dockernet
-d
옵션 : 어떤 driver로 할지 입력해준다(Driver to manage the Network)--subnet
: 10.10.20.0/24 => 10.10.20.0 ~ 10.10.20.n까지 사용할수 있고, "/24" netmask가 24라는 뜻--gateway
: gateway를 지정$ cd [docker-compose.yml파일있는경로]
$ docker-compose up -d
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "28080:2181"
networks:
dockernet:
ipv4_address: 10.10.20.141
kafka:
image: wurstemister/kafka
container_name: kafka
depends_on:
- zookeeper
ports:
- "9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 10.10.20.142
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
networks:
dockernet:
ipv4_address: 10.10.20.142
networks:
dockernet:
external: true
# kafka 컨테이너에 접속하기
$ docker exec -it kafka ash
# kafka 컨테이너에서 "test"라는 이름의 topic 생성해보기
$ kafka-topics.sh --create --bootstrap-server 10.10.20.142:9092 --replication-factor 1 --partitions 3 --topic test
# topic list로 "test"라는 토픽이 정상적으로 만들어졌는지 확인
$ kafka-topics.sh --list --bootstrap-server 10.10.20.142:9092
# 프로듀서 실행
$ kafka-console-producer.sh --bootstrap-server 10.10.20.142:9092 --topic test
# 컨슈머 실행
$ kafka-console-consumer.sh --bootstrap-server 10.10.20.142:9092 --topic test --from-beginning