148 lines
3.4 KiB
YAML
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 |