Demonstration für das Wordcount-Beispiel angepasst
[demos/kafka/training] / docker-compose.yml
index ec307f5..d855918 100644 (file)
@@ -24,6 +24,25 @@ services:
     depends_on:
       - zookeeper
 
+  mongo:
+    image: mongo:4.4.13
+    ports:
+      - 27017:27017
+    environment:
+      MONGO_INITDB_ROOT_USERNAME: juplo
+      MONGO_INITDB_ROOT_PASSWORD: training
+
+  express:
+    image: mongo-express
+    ports:
+      - 8090:8081
+    environment:
+      ME_CONFIG_MONGODB_ADMINUSERNAME: juplo
+      ME_CONFIG_MONGODB_ADMINPASSWORD: training
+      ME_CONFIG_MONGODB_URL: mongodb://juplo:training@mongo:27017/
+    depends_on:
+      - mongo
+
   setup:
     image: juplo/toolbox
     command: >
@@ -35,3 +54,107 @@ services:
   cli:
     image: juplo/toolbox
     command: sleep infinity
+
+  bart:
+    image: juplo/wordcount--fortune:1.0.0
+    command: bash -c "
+      while [ true ];
+      do
+        /usr/games/fortune chalkboard
+          | head -1
+          | http -v producer:8080/bart;
+        echo;
+        sleep 1;
+      done"
+
+  nerd:
+    image: juplo/wordcount--fortune:1.0.0
+    command: bash -c "
+      while [ true ];
+      do
+        /usr/games/fortune computers
+          | grep  -v '^[[:space:]]*--'
+          | http -v producer:8080/nerd;
+        echo;
+        sleep 1;
+      done"
+
+  riddler:
+    image: juplo/wordcount--fortune:1.0.0
+    command: bash -c "
+      while [ true ];
+      do
+        /usr/games/fortune riddles
+          | awk -F':' '/^Q/ { print $$2 }'
+          | http -v producer:8080/riddler;
+        echo;
+        sleep 1;
+        sleep 1;
+      done"
+
+  kraut:
+    image: juplo/wordcount--fortune:1.0.0
+    command: bash -c "
+      while [ true ];
+      do
+        /usr/games/fortune de
+          | http -v producer:8080/kraut;
+        echo;
+        sleep 1;
+      done"
+
+  poet:
+    image: juplo/wordcount--fortune:1.0.0
+    command: bash -c "
+      while [ true ];
+      do
+        /usr/games/fortune songs-poems
+          | http -v producer:8080/poet;
+        echo;
+        sleep 1;
+      done"
+
+  linux:
+    image: juplo/wordcount--fortune:1.0.0
+    command: bash -c "
+      while [ true ];
+      do
+        /usr/games/fortune linux
+          | http -v producer:8080/linux;
+        echo;
+        sleep 1;
+      done"
+
+  producer:
+    image: juplo/rest-producer:1.0-SNAPSHOT
+    ports:
+      - 8080:8080
+    environment:
+      server.port: 8080
+      producer.bootstrap-server: kafka:9092
+      producer.client-id: producer
+      producer.topic: test
+
+  consumer-1:
+    image: juplo/wordcount:1.0-SNAPSHOT
+    ports:
+      - 8081:8080
+    environment:
+      server.port: 8080
+      consumer.bootstrap-server: kafka:9092
+      consumer.client-id: consumer-1
+      consumer.topic: test
+      spring.data.mongodb.uri: mongodb://juplo:training@mongo:27017
+      spring.data.mongodb.database: juplo
+
+  consumer-2:
+    image: juplo/wordcount:1.0-SNAPSHOT
+    ports:
+      - 8082:8080
+    environment:
+      server.port: 8080
+      consumer.bootstrap-server: kafka:9092
+      consumer.client-id: consumer-2
+      consumer.topic: test
+      spring.data.mongodb.uri: mongodb://juplo:training@mongo:27017
+      spring.data.mongodb.database: juplo