Advertisement
vivek_ragi

docker-compose-phase2

Mar 1st, 2022 (edited)
1,390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.12 KB | None | 0 0
  1. version: '3'
  2.  
  3. services:
  4.   mysqldb1:
  5.     container_name: mysqldb1
  6.     image: mysql:latest
  7.     environment:
  8.      - MYSQL_ROOT_PASSWORD=password
  9.       - MYSQL_DATABASE=crypto
  10.       - MYSQL_USER=vivek
  11.       - MYSQL_PASSWORD=password
  12.     restart: always
  13.     ports:
  14.      - 3306:3306
  15.     volumes:
  16.      - mysqldb_01:/var/lib/mysql
  17.     healthcheck:
  18.       test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
  19.       timeout: 20s
  20.       retries: 10
  21.   mysqldb2:
  22.     container_name: mysqldb2
  23.     image: mysql:latest
  24.     environment:
  25.      - MYSQL_ROOT_PASSWORD=password
  26.       - MYSQL_DATABASE=crypto
  27.       - MYSQL_USER=vivek
  28.       - MYSQL_PASSWORD=password
  29.       - MYSQL_TCP_PORT=3307
  30.     restart: always
  31.     ports:
  32.      - 3307:3307
  33.     volumes:
  34.      - mysqldb_02:/var/lib/mysql
  35.     healthcheck:
  36.       test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
  37.       timeout: 20s
  38.       retries: 10
  39.   mysqldb3:
  40.     container_name: mysqldb3
  41.     image: mysql:latest
  42.     environment:
  43.      - MYSQL_ROOT_PASSWORD=password
  44.       - MYSQL_DATABASE=crypto
  45.       - MYSQL_USER=vivek
  46.       - MYSQL_PASSWORD=password
  47.       - MYSQL_TCP_PORT=3308
  48.     restart: always
  49.     ports:
  50.      - 3308:3308
  51.     volumes:
  52.      - mysqldb_03:/var/lib/mysql
  53.     healthcheck:
  54.       test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
  55.       timeout: 20s
  56.       retries: 10
  57.  
  58.   api1:
  59.     container_name: api1
  60.     image: crypto-exchange.jar
  61.     build:
  62.       context: ./
  63.       dockerfile: Dockerfile
  64.     depends_on:
  65.       mysqldb1:
  66.           condition: service_healthy
  67.     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"]
  68.     environment:
  69.      - leader=true
  70.     ports:
  71.      - 9092:9092
  72.   api2:
  73.     container_name: api2
  74.     image: crypto-exchange.jar
  75.     build:
  76.       context: ./
  77.       dockerfile: Dockerfile
  78.     depends_on:
  79.       mysqldb2:
  80.         condition: service_healthy
  81.     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"]
  82.     environment:
  83.      - leader=false
  84.     ports:
  85.      - 9093:9093
  86.   api3:
  87.     container_name: api3
  88.     image: crypto-exchange.jar
  89.     build:
  90.       context: ./
  91.       dockerfile: Dockerfile
  92.     depends_on:
  93.       mysqldb3:
  94.         condition: service_healthy
  95.     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"]
  96.     environment:
  97.      - leader=false
  98.     ports:
  99.      - 9094:9094
  100.  
  101.  
  102. volumes:
  103.   mysqldb_01:
  104.   mysqldb_02:
  105.   mysqldb_03:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement