使用镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker pull provectuslabs/kafka-ui
因为别的地方使用了zookeerper这个名字
这里的换成了 kafka-zookeeper,官方最新版本的kafka已经把zk依赖给移除了,但是 wurstmeister/kafka构建的镜像中还是依赖的,所以这里还是需要这个镜像的
配置文件 docker-compose.yml
version: "3"
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: kafka-zookeeper
restart: always
ports:
- 2181:2181
environment:
ZOOKEEPER_CLIENT_PORT: 2181
kafka:
image: wurstmeister/kafka
restart: always
container_name: kafka
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 0
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 # 关键修改:使用容器名称
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_PORT: 9092
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "false"
KAFKA_ZOOKEEPER_CONNECT: kafka-zookeeper:2181
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_HEAP_OPTS: "-Xmx512M -Xmx512M"
kafka-ui:
image: provectuslabs/kafka-ui
container_name: kafka-ui
restart: always
ports:
- 10010:8080
environment:
- DYNAMIC_CONFIG_ENABLED=true
- SERVER_SERVLET_CONTEXT_PATH=/ui-kafka
- KAFKA_CLUSTERS_0_NAME=local
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
- KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT
depends_on:
- zookeeper
- kafka
访问地址
http://localhost:10010/ui-kafka/
enjoy 。