Unable to launch Kafka container on ARM64

I want to launch a Kafka container with Docker Compose on Amazon EC2 instance with Graviton2 processor. Here is the service definition.

  broker:
    container_name: broker
    image: confluentinc/cp-kafka:latest.arm64
    env_file:
      - broker.env
    networks:
      - mynetwork

Here is a snippet of broker.env

# Common Cluster ID
CLUSTER_ID=someId

# Node Configuration
KAFKA_NODE_ID=1
KAFKA_PROCESS_ROLES=broker,controller

# Listeners and Advertised Listeners
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:29092,CONTROLLER://0.0.0.0:29093,PLAINTEXT_HOST://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092

The container does not launch. Here is the log.

Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: advertised.listeners cannot use the nonroutable meta-address 0.0.0.0. Use a routable IP address. at scala.Predef$.require(Predef.scala:337) at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1022) at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:852) at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:184) at kafka.tools.StorageTool$.$anonfun$execute$1(StorageTool.scala:79) at scala.Option.flatMap(Option.scala:283) at kafka.tools.StorageTool$.execute(StorageTool.scala:79) at kafka.tools.StorageTool$.main(StorageTool.scala:46) at kafka.tools.StorageTool.main(StorageTool.scala)

I do not know what the error means. confluentinc/cp-kafka:latest runs successfully with the broker.env on my Windows laptop.

ChatGPT said something like this:

The cp-kafka image may trigger kafka-storage.sh format on first start (especially for KRaft mode), and fails if it reads invalid listeners like 0.0.0.0.

Is this true? How do I launch the container on ARM64 successfully?

Update:

  1. Same issue with latest.amd64.
  2. Works with 7.8.0 on AMD64; 7.9.0 failed on AMD64.

7.8.0 works on both architectures.