Composer (in the misc folder)
docker-compose -f docker-composer.yml up -d
Topics creation
docker exec -it [container_id] kafka-topics.sh --create --bootstrap-server localhost:9092 --topic input-harga
docker exec -it [container_id] kafka-topics.sh --create --bootstrap-server localhost:9092 --topic topup
Kafka adjustment:
Accessing outside the docker host
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
Accessing inside the cluster (where kafka1 is that hostname: kafka1
)
KAFKA_ADVERTISED_HOST_NAME: kafka1
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:9092
Exposed ports:
-
Kafka
ports:
- "9092:9092" - "29092:29092" - "9999:9999"
-
Postgres
ports:
- "5433:5432"
If it is for some unknown reasons things fail in your system, an alternative way is to creating a custome internal network (bridge mode) then attach all containers to that network.
docker network create -d bridge [network_name]
docker run -itd --network=network_name [container_id]