【问题标题】:I had a problem in the process of running kafka and zookeeper on docker compose我在docker compose上运行kafka和zookeeper的过程中遇到了问题
【发布时间】:2021-05-27 11:16:19
【问题描述】:

这是我的 docker-compose-single-broker.yml 文件。

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
    networks:
      my-network:
        ipv4_address: 172.18.0.100
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 172.18.0.101
      KAFKA_CREATE_TOPICS: "test:1:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - zookeeper
    networks:
      my-network:
        ipv4_address: 172.18.0.101

networks:
  my-network:
    name: ecommerce-network  # 172.18.0.1 ~

然后我执行了命令。

docker-compose -f docker-compose-single-broker.yml up -d

我通过命令检查我的网络。

docker network inspect ecommerce-network

[
    {
        "Name": "ecommerce-network",
        "Id": "f543bd92e299455454bd1affa993d1a4b7ca2c347d576b24d8f559d0ac7f07c2",
        "Created": "2021-05-23T12:42:01.804785417Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "cad97d79a92ea8e0f24b000c8255c2db1ebc64865fab3d7cda37ff52a8755f14": {
                "Name": "kafka-docker_kafka_1",
                "EndpointID": "4c867d9d5f4d28e608f34247b102f1ff2811a9bbb2f78d30b2f55621e6ac6187",
                "MacAddress": "02:42:ac:12:00:65",
                "IPv4Address": "172.18.0.101/16",
                "IPv6Address": ""
            },
            "f7df5354b9e114a1a849ea9d558d8543ca5cb02800c5189d9f09ee1b95a517d6": {
                "Name": "kafka-docker_zookeeper_1",
                "EndpointID": "b304581db258dd3da95e15fb658cae0e40bd38440c1f845b09936d9b69d4fb23",
                "MacAddress": "02:42:ac:12:00:64",
version: '2'
                "IPv4Address": "172.18.0.100/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

然后我进入了 kafka 容器。我执行命令查找主题列表。

然而,我无限期地等待,却无法获得主题列表。

这是我的 kafka 容器的日志。

我应该怎么做才能解决这个问题?

【问题讨论】:

    标签: apache-kafka docker-compose apache-zookeeper


    【解决方案1】:

    不清楚您认为需要 IP 地址的原因。删除那些

    例如,KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 可与 Docker 网络开箱即用

    如果您不打算在该容器外部连接,KAFKA_ADVERTISED_HOST_NAME 可以简单地为 localhost,否则,它可以是您设置的 Docker 服务名称 kafka

    而且你不需要挂载 Docker 套接字

    相关 - Connect to Kafka running in Docker

    【讨论】:

      【解决方案2】:

      出于本地开发目的,如果您有兴趣,可以查看我的容器化 Kafka,它仅对 Zookeeper 和 Kafka 使用单个映像

      您可以通过以下方式找到它 https://github.com/howiesynguyen/Java-basedExamples/tree/main/DockerContainerizedKafka4Dev 或者 https://hub.docker.com/repository/docker/howiesynguyen/kafka4dev

      我用我的 Spring Cloud Stream 示例之一对其进行了测试,它对我有用。希望有人能发现它有帮助

      【讨论】:

        猜你喜欢
        • 2020-02-17
        • 1970-01-01
        • 2019-03-23
        • 2021-04-24
        • 2018-10-19
        • 2018-01-11
        • 2020-05-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多