Files
spring-cloud-gateway/docker-compose.yml

148 lines
3.4 KiB
YAML

version: "3.6"
services:
rabbitmq:
container_name: rabbitmq
image: rabbitmq:management
environment:
RABBITMQ_DEFAULT_USER: "guest"
RABBITMQ_DEFAULT_PASS: "guest"
networks:
- ecommerce-network
ports:
- "15672:15672"
- "5672:5672"
- "15671:15671"
- "5671:5671"
- "4369:4369"
config-service:
container_name: config-service
image: roy-msa/config:1.0
environment:
spring.profiles.active: "default"
ports:
- "8888:8888"
networks:
- ecommerce-network
depends_on:
- rabbitmq
discovery-service:
container_name: discovery-service
image: roy-msa/discovery:1.0
environment:
spring.cloud.config.uri: "http://config-service:8888"
ports:
- "8761:8761"
networks:
- ecommerce-network
depends_on:
- config-service
gateway-service:
container_name: gateway-service
image: roy-msa/gateway:1.0
environment:
spring.cloud.config.uri: "http://config-service:8888"
spring.rabbitmq.host: "rabbitmq"
eureka.client.serviceUrl.defaultZone: "http://discovery-service:8761/eureka/"
ports:
- "8000:8000"
networks:
- ecommerce-network
depends_on:
- discovery-service
user-service:
container_name: user-service
image: roy-msa/user:1.0
environment:
spring.cloud.config.uri: "http://config-service:8888"
spring.rabbitmq.host: "rabbitmq"
spring.zipkin.base-url: "http://zipkin:9411"
eureka.client.serviceUrl.defaultZone: "http://discovery-service:8761/eureka/"
logging.file: "/api-logs/users-ws.log"
depends_on:
- gateway-service
- zipkin
- rabbitmq
order-service:
container_name: order-service
image: roy-msa/order:1.0
environment:
spring.zipkin.base-url: "http://zipkin:9411"
eureka.client.serviceUrl.defaultZone: "http://discovery-service:8761/eureka/"
spring.datasource.url: "jdbc:mariadb://mariadb:3306/mydb"
logging.file: "/api-logs/orders-ws.log"
depends_on:
- gateway-service
- zipkin
- rabbitmq
# third-party
zipkin:
container_name: zipkin
image: openzipkin/zipkin
ports:
- "9411:9411"
networks:
- ecommerce-network
prometheus:
container_name: prometheus
image: prom/prometheus
ports:
- "9091:9090"
networks:
- ecommerce-network
volumes:
- ./thirdparty/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
container_name: grafana
image: grafana/grafana
ports:
- "3000:3000"
networks:
- ecommerce-network
mariadb:
container_name: mariadb
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "mydb"
ports:
- "3306:3306"
networks:
- ecommerce-network
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
networks:
ecommerce-network:
ipv4_address: 172.18.0.100
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.18.0.101
KAFKA_CREATE_TOPICS: "test:1:1"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- zookeeper
networks:
ecommerce-network:
ipv4_address: 172.18.0.101
networks:
ecommerce-network:
external: true