From fef26208d8b7864f280beabc5c05a1330e27a065 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <soeren.henning@email.uni-kiel.de>
Date: Fri, 3 Dec 2021 15:09:50 +0100
Subject: [PATCH] Add starting docs for docker tests

---
 theodolite-benchmarks/docker-test/README.md | 38 +++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 theodolite-benchmarks/docker-test/README.md

diff --git a/theodolite-benchmarks/docker-test/README.md b/theodolite-benchmarks/docker-test/README.md
new file mode 100644
index 000000000..fd1e9bf47
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/README.md
@@ -0,0 +1,38 @@
+# Docker Compose Files for Testing
+
+This directory contains Docker Compose files, which help testing Benchmark implementations.
+For each stream processing engine (Kafka Streams and Flink) and Benchmark (UC1-4), a Docker Compose file is provided
+in the corresponding subdirectory.
+
+## Full Dockerized Testing
+
+Running the load generator, the benchmark and all required infrastructure (Kafka etc.) is easy. Simply, `cd` into the
+directory of the benchmark implementation Compose file and *up* it.
+For example:
+
+```sh
+cd uc1-kstreams-docker-compose/
+docker-compose up -d
+```
+
+On less powerful hardware, starting all containers together might fail. In such cases, it usually helps to first *up*
+Kafka and ZooKeeper (`docker-compose up -d kafka zookeeper`), then after some delay the Schema Registry
+(`docker-compose up -d schema-registry`) and finally, after some more further delay, the rest (`docker-compose up -d`).
+
+To tear down the entire Docker Compose configuration:
+
+```sh
+docker-compose down
+```
+
+## Benchmark (+ Load Generator) on Host, Infrastructure in Docker
+
+For development and debugging purposes, it is often required to run the benchmark and/or the load generator directly on
+the host, for example, from the IDE or Gradle. In such cases, the following adjustments have to be made to the
+`docker-compose.yaml` file:
+
+1. Comment out the services that you intend to run locally.
+2. Uncomment the `ports` block in the Kafka and the Schema Registry services.
+
+You can now connect to Kafka from your host system with bootstrap server `localhost:19092` and contact the Schema
+Registry via `localhost:8081`. **Pay attention to the Kafka port, which is *19092* instead of the default one *9092*.**
-- 
GitLab