Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to get docker and zookeeper to connect docker

Tags:

docker

I have the following two containers started but kafka says connection refused.

docker run zookeeper and docker run wurstmeister/kafka

I run it just like that and the connection is refused. In the logs it says:

INFO Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)

then:

WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn) java.net.ConnectException: Connection refused

zookeeper is started first and it on 2181, when starting kafka it looks at 2181 "zookeeper" then blows up on me. Advice?

like image 201
Mike3355 Avatar asked Oct 23 '25 15:10

Mike3355


2 Answers

Had the same issue. What helped was actualy:

  1. Creating a bridge network: docker network create -d bridge kafka-network

  2. Running a Zookeeper within this network: docker run -d -p 2181:2181 --network kafka-network --name zookeeper zookeeper:latest along with exposing port 2181

  3. Running a Kafka docker attaching it to the network and using Zookeeper's container name as a host: docker run -d -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -p 9092:9092 --network kafka-network --name kafka confluentinc/cp-kafka:latest

like image 147
Marcin T.P. Łuczyński Avatar answered Oct 26 '25 07:10

Marcin T.P. Łuczyński


Hi Drew you need to provide specific zookeeper docker container IP. Instead of localhost in Kafka configuration. You can get Docker IP by running

docker ps

docker inspect

And you need to make sure that Docker containers are able to communicate with each other. Please refer the following https://docs.docker.com/engine/userguide/networking/default_network/container-communication/

like image 29
Abhimanyu Avatar answered Oct 26 '25 07:10

Abhimanyu