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