1
|
version: '3.3'
|
2
|
|
3
|
services:
|
4
|
#service 1: definition of mysql database
|
5
|
db:
|
6
|
image: mysql:latest
|
7
|
container_name: mysql-db
|
8
|
environment:
|
9
|
- MYSQL_ROOT_PASSWORD=<password for root>
|
10
|
ports:
|
11
|
- "3306:3306"
|
12
|
restart: always
|
13
|
volumes:
|
14
|
- ./db/spade.sql:/usr/local/etc/spade.sql
|
15
|
- ./db/spade-views.sql:/usr/local/etc/spade-views.sql
|
16
|
- ./db/spade-config.sql:/usr/local/etc/spade-config.sql
|
17
|
|
18
|
#service 2: definition of phpMyAdmin
|
19
|
# phpmyadmin:
|
20
|
# image: phpmyadmin/phpmyadmin:latest
|
21
|
# container_name: my-php-myadmin
|
22
|
# ports:
|
23
|
# - "8082:80"
|
24
|
# restart: always
|
25
|
# depends_on:
|
26
|
# - db
|
27
|
# environment:
|
28
|
# SPRING_DATASOURCE_USERNAME: <username for phpMyAdmin>
|
29
|
# SPRING_DATASOURCE_PASSWORD: <password for phpMyAdmin>
|
30
|
# volumes:
|
31
|
# - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini # add configuration due to max upload file size
|
32
|
|
33
|
|
34
|
#service 3: definition of your spring-boot app
|
35
|
antipatterndetection:
|
36
|
image: anti-pattern-detection
|
37
|
container_name: anti-pattern-detection-app
|
38
|
build:
|
39
|
context: .
|
40
|
dockerfile: Dockerfile
|
41
|
ports:
|
42
|
- "8080:8080" # spring app will starts on port 8080 (<output_port:port_inside_of_docker>)
|
43
|
restart: always
|
44
|
|
45
|
depends_on:
|
46
|
- db
|
47
|
environment:
|
48
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-db:3306/spade
|
49
|
SPRING_DATASOURCE_USERNAME: <username for DB connection>
|
50
|
SPRING_DATASOURCE_PASSWORD: <password for DB connection>
|
51
|
DATA_PATH: usr/local/etc/data/
|
52
|
volumes:
|
53
|
- ./data/:/usr/local/etc/data/
|
54
|
- ./src/main/resources/application.properties:/application.properties
|