version: "3.8" services: chats: build: context: ../service-chats dockerfile: src/main/docker/Dockerfile.jvm container_name: service-chats env_file: chats.env ports: - "8282:8282" networks: - database - elastic depends_on: - database - es01 - es02 - es03 td: build: context: ../service-td dockerfile: src/main/docker/Dockerfile.jvm container_name: service-td env_file: td.env ports: - "8283:8283" database: image: postgres container_name: postgres01 env_file: database.env ports: - "5432:5432" volumes: - database_data:/var/lib/postgresql/data/ es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - "9200:9200" networks: - elastic es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data02:/usr/share/elasticsearch/data networks: - elastic es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.2 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data03:/usr/share/elasticsearch/data networks: - elastic volumes: database_data: driver: local data01: driver: local data02: driver: local data03: driver: local networks: elastic: driver: bridge database: driver: bridge