From ea11539f7d60a81c3986cd6998f55432aacf456c Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 12 Nov 2025 16:11:50 +0100 Subject: [PATCH] Refactor docker-compose services to use individual Dockerfiles (#20) * Initial plan * Refactor services into individual Dockerfiles Co-authored-by: velocitatem <60182044+velocitatem@users.noreply.github.com> * Add EXPOSE directives to all Dockerfiles with port documentation Co-authored-by: velocitatem <60182044+velocitatem@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: velocitatem <60182044+velocitatem@users.noreply.github.com> --- docker-compose.yml | 16 ++++++++++++---- docker/Kafka.dockerfile | 7 +++++++ docker/Redis.dockerfile | 4 ++++ docker/RedpandaConsole.dockerfile | 4 ++++ docker/Zookeeper.dockerfile | 4 ++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 docker/Kafka.dockerfile create mode 100644 docker/Redis.dockerfile create mode 100644 docker/RedpandaConsole.dockerfile create mode 100644 docker/Zookeeper.dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index abfb77d..b0a6521 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,9 @@ services: redis: container_name: "PHANTOM-redis" - image: redis:7-alpine + build: + context: ./docker + dockerfile: Redis.dockerfile ports: - "${REDIS_PORT:-6378}:6379" volumes: @@ -9,7 +11,9 @@ services: restart: unless-stopped zookeeper: container_name: "PHANTOM-zookeeper" - image: confluentinc/cp-zookeeper:latest + build: + context: ./docker + dockerfile: Zookeeper.dockerfile environment: ZOOKEEPER_CLIENT_PORT: 2181 ports: @@ -17,7 +21,9 @@ services: kafka: container_name: "PHANTOM-kafka" - image: confluentinc/cp-kafka:7.5.0 + build: + context: ./docker + dockerfile: Kafka.dockerfile depends_on: - zookeeper environment: @@ -36,7 +42,9 @@ services: redpanda-console: container_name: "PHANTOM-redpanda-console" - image: docker.redpanda.com/redpandadata/console:latest + build: + context: ./docker + dockerfile: RedpandaConsole.dockerfile depends_on: - kafka environment: diff --git a/docker/Kafka.dockerfile b/docker/Kafka.dockerfile new file mode 100644 index 0000000..33c6ee8 --- /dev/null +++ b/docker/Kafka.dockerfile @@ -0,0 +1,7 @@ +FROM confluentinc/cp-kafka:7.5.0 + +# Expose Kafka ports +# 9092: External client connections +# 29092: Internal broker communication +# 9999: JMX monitoring port +EXPOSE 9092 29092 9999 diff --git a/docker/Redis.dockerfile b/docker/Redis.dockerfile new file mode 100644 index 0000000..183ee10 --- /dev/null +++ b/docker/Redis.dockerfile @@ -0,0 +1,4 @@ +FROM redis:7-alpine + +# Expose Redis port +EXPOSE 6379 diff --git a/docker/RedpandaConsole.dockerfile b/docker/RedpandaConsole.dockerfile new file mode 100644 index 0000000..d90ff48 --- /dev/null +++ b/docker/RedpandaConsole.dockerfile @@ -0,0 +1,4 @@ +FROM docker.redpanda.com/redpandadata/console:latest + +# Expose Redpanda Console web UI port +EXPOSE 8080 diff --git a/docker/Zookeeper.dockerfile b/docker/Zookeeper.dockerfile new file mode 100644 index 0000000..87df5d2 --- /dev/null +++ b/docker/Zookeeper.dockerfile @@ -0,0 +1,4 @@ +FROM confluentinc/cp-zookeeper:latest + +# Expose Zookeeper client port +EXPOSE 2181