diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 000000000..4d307ad7e
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,6 @@
+FROM openjdk:8-stretch
+
+COPY target/*.jar /app.jar
+
+EXPOSE 8080
+CMD ["java","-Dspring.profiles.active=mysql","-jar","/app.jar"]
diff --git a/docker-compose.yml b/docker-compose.yml
index 0f4a7fc30..75b0cc902 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,9 +1,24 @@
-mysql:
- image: mysql:5.7
- ports:
- - "3306:3306"
- environment:
- - MYSQL_ROOT_PASSWORD=petclinic
- - MYSQL_DATABASE=petclinic
- volumes:
- - "./conf.d:/etc/mysql/conf.d:ro"
+version: "2.2"
+services:
+ mysql:
+ image: mysql:5.7
+ container_name: db
+ ports:
+ - "3306:3306"
+ environment:
+ - MYSQL_ROOT_PASSWORD=petclinic
+ - MYSQL_DATABASE=petclinic
+ volumes:
+ - "./conf.d:/etc/mysql/conf.d:ro"
+ healthcheck:
+ test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
+ interval: 30s
+ timeout: 10s
+ retries: 5
+ petclinic:
+ image: petclinic:mysql
+ depends_on:
+ mysql:
+ condition: service_healthy
+ ports:
+ - "8080:8080"
diff --git a/pom.xml b/pom.xml
index 50a82ec1e..14f58acf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.1.4.RELEASE
+ 2.1.3.RELEASE
petclinic
diff --git a/src/main/resources/application-mysql.properties b/src/main/resources/application-mysql.properties
index 823b32b69..971dd611e 100644
--- a/src/main/resources/application-mysql.properties
+++ b/src/main/resources/application-mysql.properties
@@ -1,7 +1,7 @@
# database init, supports mysql too
database=mysql
-spring.datasource.url=jdbc:mysql://localhost/petclinic
+spring.datasource.url=jdbc:mysql://db/petclinic
spring.datasource.username=root
spring.datasource.password=petclinic
# Uncomment this the first time the app runs
-# spring.datasource.initialization-mode=always
+spring.datasource.initialization-mode=always