build: add Docker and Compose setup
This commit is contained in:
parent
f573ae19d0
commit
85a6f1fbbc
3 changed files with 52 additions and 0 deletions
2
.dockerignore
Normal file
2
.dockerignore
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
.gradle
|
||||||
|
build
|
||||||
21
Dockerfile
Normal file
21
Dockerfile
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
FROM eclipse-temurin:21-jdk AS build
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY gradlew ./
|
||||||
|
COPY gradle gradle
|
||||||
|
COPY build.gradle settings.gradle ./
|
||||||
|
COPY src src
|
||||||
|
|
||||||
|
RUN chmod +x gradlew \
|
||||||
|
&& ./gradlew bootJar -x test --no-daemon
|
||||||
|
|
||||||
|
FROM eclipse-temurin:21-jre
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY --from=build /app/build/libs/reservation-demo-*.jar app.jar
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|
||||||
29
compose.yml
Normal file
29
compose.yml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
name: reservation-demo
|
||||||
|
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.4
|
||||||
|
container_name: reservation-demo-mysql
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: root
|
||||||
|
MYSQL_DATABASE: reservation_demo
|
||||||
|
MYSQL_USER: demo
|
||||||
|
MYSQL_PASSWORD: demo
|
||||||
|
volumes:
|
||||||
|
- reservation-demo-mysql-data:/var/lib/mysql
|
||||||
|
command:
|
||||||
|
- --character-set-server=utf8mb4
|
||||||
|
- --collation-server=utf8mb4_unicode_ci
|
||||||
|
|
||||||
|
app:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: reservation-demo-app
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
reservation-demo-mysql-data:
|
||||||
Loading…
Add table
Add a link
Reference in a new issue