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