docker run -d -e KAFKA_CFG_ZOOKEEPER_CONNECT=localhost:2181 --name singlekafka -p 9092:9092 bitnami/kafka:3.5.2
启动报错:
[2025-03-25 12:43:37,831] INFO [ZooKeeperClient Kafka server] Waiting until connected. (kafka.zookeeper.ZooKeeperClient)
[2025-03-25 12:43:37,832] INFO Opening socket connection to server localhost/127.0.0.1:2181. (org.apache.zookeeper.ClientCnxn)
[2025-03-25 12:43:37,836] WARN Session 0x0 for server localhost/127.0.0.1:2181, Closing socket connection. Attempting reconnect except it is a SessionExpiredException. (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:344)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1293)
[2025-03-25 12:43:38,939] INFO Opening socket connection to server localhost/127.0.0.1:2181. (org.apache.zookeeper.ClientCnxn)
在容器内不能使用localhost或127.0.0.1,因为这会连接容器内的zk,而容器内没有zk,所以要使用内网ip或让kafka和zk在同一个网络内。