build: add Docker and Compose setup

This commit is contained in:
bumpsoo 2026-06-09 07:48:28 +09:00
parent f573ae19d0
commit 85a6f1fbbc
3 changed files with 52 additions and 0 deletions

2
.dockerignore Normal file
View file

@ -0,0 +1,2 @@
.gradle
build

21
Dockerfile Normal file
View 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
View 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: