Files
cqrs-microservice-demo/docker-compose.yml

89 lines
2.6 KiB
YAML

version: '2'
networks:
cqrs-network:
driver: bridge
services:
zookeeper:
image: 'bitnami/zookeeper:latest'
ports:
- "2181:2181"
networks:
- cqrs-network
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: 'bitnami/kafka:latest'
ports:
- "9092:9092"
depends_on:
- zookeeper
networks:
- cqrs-network
environment:
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
db:
image: mysql
# NOTE: use of "mysql_native_password" is not recommended: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password
# (this is just an example, not intended to be a production configuration)
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
networks:
- cqrs-network
cqrs-ms-user-command-service:
platform: linux/amd64 #Required for Mac M1 PRO
build: ./cqrs-ms-user-command-service
ports:
- "8081:8081"
environment:
- SERVER_PORT=8081
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- SPRING_DATASOURCE_URL=jdbc:mysql://db/userrdb?autoReconnect=true&useSSL=false&createDatabaseIfNotExist=true
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=root
- SPRING_JPA_HIBERNATE_DDL_AUTO=create
- HIBERNATE_DIALECT=org.hibernate.dialect.MySQL8Dialect
depends_on:
- kafka
- db
- debezium
networks:
- cqrs-network
cqrs-ms-user-query-service:
platform: linux/amd64 #Required for Mac M1 PRO
build: ./cqrs-ms-user-query-service
ports:
- '8080:8080'
environment:
- KAFKA_TOPIC_NAME=dbserver1.userrdb.cqrs_user
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
- SPRING_DATASOURCE_URL=jdbc:mysql://db/userwdb?autoReconnect=true&useSSL=false&createDatabaseIfNotExist=true
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=root
- SPRING_JPA_HIBERNATE_DDL_AUTO=create
- HIBERNATE_DIALECT=org.hibernate.dialect.MySQL8Dialect
depends_on:
- kafka
- db
- debezium
networks:
- cqrs-network
debezium:
image: debezium/connect:0.10
ports:
- '8083:8083'
environment:
- GROUP_ID=debz_1
- BOOTSTRAP_SERVERS=kafka:9092
- CONFIG_STORAGE_TOPIC=cqrs_connect_configs
- OFFSET_STORAGE_TOPIC=cqrs_connect_offsets
- STATUS_STORAGE_TOPIC=cqrs_connect_statuses
depends_on:
- kafka
networks:
- cqrs-network