X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=docker-compose.yml;h=d855918add81873ff0a835d6007ce27c7b0ac321;hb=53c63296c53bfe30bd50eb52a6e455beb6792015;hp=30ae3b49801dc4707ce2263dfecfe884df7881cb;hpb=83a4bf324f5a7ec6010a7921118ec7d6e8f997cf;p=demos%2Fkafka%2Ftraining diff --git a/docker-compose.yml b/docker-compose.yml index 30ae3b4..d855918 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,21 +40,93 @@ services: ME_CONFIG_MONGODB_ADMINUSERNAME: juplo ME_CONFIG_MONGODB_ADMINPASSWORD: training ME_CONFIG_MONGODB_URL: mongodb://juplo:training@mongo:27017/ + depends_on: + - mongo - kafka-ui: - image: provectuslabs/kafka-ui:0.3.3 - ports: - - 8080:8080 - environment: - KAFKA_CLUSTERS_0_NAME: local - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092 + setup: + image: juplo/toolbox + command: > + bash -c " + kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test + kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 2 + " 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/endless-producer:1.0-SNAPSHOT + image: juplo/rest-producer:1.0-SNAPSHOT ports: - 8080:8080 environment: @@ -62,17 +134,27 @@ services: producer.bootstrap-server: kafka:9092 producer.client-id: producer producer.topic: test - producer.throttle-ms: 10 - - consumer: - image: juplo/endless-consumer:1.0-SNAPSHOT + consumer-1: + image: juplo/wordcount:1.0-SNAPSHOT ports: - 8081:8080 environment: server.port: 8080 consumer.bootstrap-server: kafka:9092 - consumer.client-id: consumer + 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