docker-compose部署kafka全过程

 更新时间:2024年12月19日 09:23:55   作者:lcz-2000  
文章介绍了如何使用docker-compose.yaml文件启动容器,并查看和创建Kafka topic,以及监控topic下的数据,作者分享了个人经验,希望对大家有所帮助

docker-compose部署kafka

docker-compose.yaml文件

version: '3'
services:
  zookeeper:
    image: bitnami/zookeeper:latest
    container_name: zookeeper
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    network_mode: host
  kafka:
    image: bitnami/kafka:latest
    container_name: kafka
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://主机IP地址:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://主机IP地址:9092 #如果是docker容器外访问这里要写宿主机的ip 否则会报Error connecting to node kafka:9092 (id: 1 rack: null) java.net.UnknownHostException: 不知道这样的主机。
      - KAFKA_CFG_ZOOKEEPER_CONNECT=主机IP地址:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper
    network_mode: host

启动容器

docker-compose up -d

查看已创建的topic

docker exec -it kafka kafka-topics.sh --list --bootstrap-server 主机IP地址:9092

创建topic

//方式一
docker exec -it kafka kafka-console-producer.sh --bootstrap-server 主机IP地址:9092 --topic test
//方式二
docker exec kafka kafka-topics.sh --create --topic test --partitions 1 --replication-factor 1 --if-not-exists --bootstrap-server 主机IP地址:9092
//Created topic test.
//--partitions 1 表示你想要创建的分区数量为 1,--replication-factor 1 表示每个分区的副本因子为 1(通常在生产环境中,你会希望设置更高的副本因子以增加容错性)。--if-not-exists 是一个可选参数,用于在 topic 已经存在时防止报错。

查看并监控topic下数据

docker exec -it kafka kafka-console-consumer.sh --bootstrap-server 主机IP地址:9092 --topic test --from-beginning
//--from-beginning 参数表示从topic的起始位置开始读取消息 不带该参数默认从最新偏移量开始监控消费

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解docker强制批量删除none的image镜像

    详解docker强制批量删除none的image镜像

    这篇文章主要介绍了详解docker强制批量删除none的image镜像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Docker cp命令详解之如何在Docker容器和主机之间复制文件/文件夹

    Docker cp命令详解之如何在Docker容器和主机之间复制文件/文件夹

    要从Docker容器中复制文件,可以使用docker cp命令,下面这篇文章主要给大家介绍了关于Docker cp命令详解之如何在Docker容器和主机之间复制文件/文件夹的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Docker中限制CPU和内存的使用的方法

    Docker中限制CPU和内存的使用的方法

    在容器化的动态世界中,Docker 已经成为构建、部署和管理容器化的关键工具应用,设置适当的内存和 CPU 限制对于优化 Docker 性能至关重要,确保每个容器在不使主机负担过重的情况下获得必要的资源,本文将深入探讨有效设置这些限制的实用策略,需要的朋友可以参考下
    2025-01-01
  • idea使用docker生成镜像(打包镜像,导入镜像,导出镜像)

    idea使用docker生成镜像(打包镜像,导入镜像,导出镜像)

    使用docker镜像,可以快速地部署和运行应用程序,而无需担心环境差异、依赖项问题等,本文主要介绍了idea使用docker生成镜像,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Docker安装Oracle_11g的方法

    Docker安装Oracle_11g的方法

    这篇文章主要介绍了Docker安装Oracle_11g的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Docker查看及修改Redis容器密码的实用指南

    Docker查看及修改Redis容器密码的实用指南

    在使用 Docker 部署 Redis 容器时,有时我们需要查看或修改 Redis 的密码,本文将详细介绍如何在 Docker 中查看和修改 Redis 容器的密码,帮助你更好地管理和维护你的 Redis 实例,需要的朋友可以参考下
    2024-07-07
  • Docker 搭建 Tomcat 运行环境的方法

    Docker 搭建 Tomcat 运行环境的方法

    这篇文章主要介绍了Docker 搭建 Tomcat 运行环境的方法,Docker与虚拟机及搭建过程,介绍的非常详细,需要的朋友可以参考下
    2016-10-10
  • docker的WSL2报错解决步骤记录

    docker的WSL2报错解决步骤记录

    这篇文章主要介绍了在使用Docker时遇到的WSL2不支持的问题,包括错误代码、解决方法和常见问题,解决方法主要包括启用BIOS虚拟化、安装WSL2内核、设置默认WSL版本等步骤,需要的朋友可以参考下
    2025-04-04
  • docker中Dockerfile方式建立镜像HelloWorld

    docker中Dockerfile方式建立镜像HelloWorld

    这篇文章主要介绍了docker中Dockerfile方式建立镜像HelloWorld,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Docker无法登录与推送问题解决的详细教程

    Docker无法登录与推送问题解决的详细教程

    这篇文章主要介绍了如何使用阿里云容器镜像服务来解决国内访问Docker Hub速度慢的问题,并详细描述了如何设置阿里云镜像服务、配置Docker、操作镜像(包括pull和push)以及测试拉取镜像的过程,需要的朋友可以参考下
    2025-02-02

最新评论