Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: '3'
- services:
- mysqldb1:
- container_name: mysqldb1
- image: mysql:latest
- environment:
- - MYSQL_ROOT_PASSWORD=password
- - MYSQL_DATABASE=crypto
- - MYSQL_USER=vivek
- - MYSQL_PASSWORD=password
- restart: always
- ports:
- - 3306:3306
- volumes:
- - mysqldb_01:/var/lib/mysql
- healthcheck:
- test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
- timeout: 20s
- retries: 10
- mysqldb2:
- container_name: mysqldb2
- image: mysql:latest
- environment:
- - MYSQL_ROOT_PASSWORD=password
- - MYSQL_DATABASE=crypto
- - MYSQL_USER=vivek
- - MYSQL_PASSWORD=password
- - MYSQL_TCP_PORT=3307
- restart: always
- ports:
- - 3307:3307
- volumes:
- - mysqldb_02:/var/lib/mysql
- healthcheck:
- test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
- timeout: 20s
- retries: 10
- mysqldb3:
- container_name: mysqldb3
- image: mysql:latest
- environment:
- - MYSQL_ROOT_PASSWORD=password
- - MYSQL_DATABASE=crypto
- - MYSQL_USER=vivek
- - MYSQL_PASSWORD=password
- - MYSQL_TCP_PORT=3308
- restart: always
- ports:
- - 3308:3308
- volumes:
- - mysqldb_03:/var/lib/mysql
- healthcheck:
- test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
- timeout: 20s
- retries: 10
- api1:
- container_name: api1
- image: crypto-exchange.jar
- build:
- context: ./
- dockerfile: Dockerfile
- depends_on:
- mysqldb1:
- condition: service_healthy
- command: ['java', '-jar', '/tmp/target/crypto-exchange.jar', '--server.port=9092', '--spring.datasource.url=jdbc:mysql://mysqldb1:3306/crypto', '--spring.datasource.username=vivek', '--spring.datasource.password=password', "--spring.jpa.hibernate.ddl-auto=update"]
- environment:
- - leader=true
- ports:
- - 9092:9092
- api2:
- container_name: api2
- image: crypto-exchange.jar
- build:
- context: ./
- dockerfile: Dockerfile
- depends_on:
- mysqldb2:
- condition: service_healthy
- command: ['java', '-jar', '/tmp/target/crypto-exchange.jar', '--server.port=9093', '--spring.datasource.url=jdbc:mysql://mysqldb2:3307/crypto', '--spring.datasource.username=vivek', '--spring.datasource.password=password', "--spring.jpa.hibernate.ddl-auto=update"]
- environment:
- - leader=false
- ports:
- - 9093:9093
- api3:
- container_name: api3
- image: crypto-exchange.jar
- build:
- context: ./
- dockerfile: Dockerfile
- depends_on:
- mysqldb3:
- condition: service_healthy
- command: ['java', '-jar', '/tmp/target/crypto-exchange.jar', '--server.port=9094', '--spring.datasource.url=jdbc:mysql://mysqldb3:3308/crypto', '--spring.datasource.username=vivek', '--spring.datasource.password=password', "--spring.jpa.hibernate.ddl-auto=update"]
- environment:
- - leader=false
- ports:
- - 9094:9094
- volumes:
- mysqldb_01:
- mysqldb_02:
- mysqldb_03:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement