skywalking-java/test/e2e/e2e-test/docker/gateway/docker-compose.yml

185 lines
4.4 KiB
YAML

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
version: '2.1'
services:
zk:
image: zookeeper:3.5
expose:
- 2181
networks:
- e2e
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/2181"]
interval: 5s
timeout: 60s
retries: 120
es:
image: elastic/elasticsearch:6.3.2
expose:
- 9200
networks:
- e2e
environment:
- discovery.type=single-node
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9200"]
interval: 5s
timeout: 60s
retries: 120
oap1:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
volumes:
- ./gateways.yml:/skywalking/config/gateways.yml
depends_on:
zk:
condition: service_healthy
es:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
oap2:
image: skywalking/oap:latest
expose:
- 11800
- 12800
networks:
- e2e
environment:
- SW_CLUSTER=zookeeper
- SW_CLUSTER_ZK_HOST_PORT=zk:2181
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
restart: on-failure
volumes:
- ./gateways.yml:/skywalking/config/gateways.yml
depends_on:
zk:
condition: service_healthy
es:
condition: service_healthy
oap1:
condition: service_healthy
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"]
interval: 5s
timeout: 60s
retries: 120
ui:
image: skywalking/ui:latest
expose:
- 8080
networks:
- e2e
environment:
- SW_OAP_ADDRESS=oap1:12800,oap2:12800
depends_on:
oap1:
condition: service_healthy
oap2:
condition: service_healthy
provider1:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800
- SW_AGENT_NAME=e2e-service-provider
depends_on:
oap2:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
provider2:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.provider
networks:
- e2e
expose:
- 9090
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800
- SW_AGENT_NAME=e2e-service-provider
depends_on:
oap2:
condition: service_healthy
healthcheck:
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"]
interval: 5s
timeout: 60s
retries: 120
consumer:
build:
context: ../../../
dockerfile: e2e-test/docker/Dockerfile.consumer
networks:
- e2e
expose:
- 9092
environment:
- SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap1:11800
- SW_AGENT_NAME=e2e-service-consumer
- PROVIDER_URL=http://gateway
depends_on:
oap1:
condition: service_healthy
gateway:
image: nginx:1.13.12
expose:
- 80
networks:
- e2e
volumes:
- ./gateway.conf:/etc/nginx/conf.d/api.conf:ro
depends_on:
provider1:
condition: service_healthy
provider2:
condition: service_healthy
restart: on-failure
networks:
e2e: