version: '3' services: rabbitmq: image: rabbitmq:3.5.3-management ports: - "5672:5672" - "15672:15672" mongodb: image: mongo:3.0.4 ports: - "27017:27017" command: mongod --smallfiles eureka: build: ./eureka-server ports: - "8761:8761" zipkin: build: ./zipkin-server ports: - "9411:9411" depends_on: - rabbitmq environment: RABBIT_HOST: rabbitmq restfulservice: build: ./spring-boot-restful-service ports: - "8081:8080" depends_on: - rabbitmq - mongodb - eureka - zipkin environment: SPRING_DATA_MONGODB_URI: mongodb://mongodb/userregistration SPRING_RABBITMQ_HOST: rabbitmq SPRING_APPLICATION_NAME: registration-service SPRING_PROFILES_ACTIVE: enableEureka EUREKA_INSTANCE_PREFER_IP_ADDRESS: "true" EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://eureka:8761/eureka/ SPRING_SLEUTH_ENABLED: "true" SPRING_SLEUTH_SAMPLER_PERCENTAGE: 1 web: build: ./spring-boot-webapp ports: - "8080:8080" depends_on: - restfulservice - zipkin - eureka environment: USER_REGISTRATION_URL: http://REGISTRATION-SERVICE/user SPRING_APPLICATION_NAME: registration-web SPRING_PROFILES_ACTIVE: enableEureka EUREKA_INSTANCE_PREFER_IP_ADDRESS: "true" EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://eureka:8761/eureka/ SPRING_RABBITMQ_HOST: rabbitmq SPRING_SLEUTH_ENABLED: "true" SPRING_SLEUTH_SAMPLER_PERCENTAGE: 1 SPRING_SLEUTH_WEB_SKIPPATTERN: "/api-docs.*|/autoconfig|/configprops|/dump|/health|/info|/metrics.*|/mappings|/trace|/swagger.*|.*\\.png|.*\\.css|.*\\.js|/favicon.ico|/hystrix.stream"