Using Storm with Kafka in Docker

I want to run Kafka and Storm (connected through Kafka Spout) in Docker and implement using docker-compose. My docker-compose.yml looks like this:

    version: '3.3'

    services:

      zookeeper:
        image: confluentinc/cp-zookeeper:5.1.2
        container_name: zookeeper
        hostname: zookeeper
        ports:
          - "2181:2181"
        environment:
          - ZOOKEEPER_CLIENT_PORT=2181
        restart: unless-stopped
      kafka:
        image: confluentinc/cp-kafka:5.1.2
        container_name: kafka
        hostname: kafka
        ports:
          - "9092:9092"
        environment:
          KAFKA_LISTENERS: PLAINTEXT://kafka:19092,LISTENER_DOCKER_EXTERNAL://kafka:9092
          KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-kafka}:9092
          KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
          KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
          KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
          KAFKA_BROKER_ID: 1
          KAFKA_NUM_PARTITIONS: 1
          KAFKA_DEFAULT_REPLICATION_FACTOR: 1
          KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
          KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        depends_on:
          - zookeeper
        restart: unless-stopped
      kafka-producer:
        build:
          context: kafka-dummy-producer
          dockerfile: Dockerfile
        container_name: producer
        depends_on:
          - kafka
      kafka-consumer:
        build:
          context: kafka-dummy-consumer
          dockerfile: Dockerfile
        container_name: consumer
        depends_on:
          - kafka
      nimbus:
        image: storm
        container_name: nimbus
        command: storm nimbus
        depends_on:
          - zookeeper
        links:
          - zookeeper
        restart: unless-stopped
        ports:
          - "6627:6627"
      supervisor:
        image: storm
        container_name: supervisor
        command: storm supervisor
        depends_on:
          - nimbus
          - zookeeper
        links:
          - nimbus
          - zookeeper
        restart: unless-stopped
      storm-ui:
        image: storm
        container_name: storm-ui
        command: storm ui
        depends_on:
          - nimbus
          - zookeeper
        links:
          - nimbus
          - zookeeper
        ports:
          - "8080:8080"
        restart: unless-stopped

My problem is with Storm, so all the guides on how to run it in Docker seem to be quite old, because they suggest using links, which are now deprecated in Docker. However, I used it simply to make at least something work, so I set up Kafka and Storm with a shared zookeeper, and followed the official guidelines on both. For Kafka, I used two simple clients and they work, so Kafka seems to be working fine.

Storm doesn't push the log to stdout, so I can't really verify it, and the use of volumes for the log files doesn't seem to work either. When trying to access the Storm user interface on localhost: 8080 it worked only once, but after this never again.

Does my approach go in the right direction? What can I do to fix the configuration?