- 로그인/회원가입/아이디찾기/비밀번호재설정 (세션 기반) - 대시보드(주차별 진도 체크리스트), 학습 문서 뷰어(17종), 과제 제출/멘토 피드백 - 코딩 기초·개발 환경 설치 가이드 학습 페이지 - 전 소스 한국어 학습 주석 — 수습생 교육용 저장소 - Docker 배포 구성 (Caddy + Spring Boot + PG + Gitea) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
20 lines
801 B
Docker
20 lines
801 B
Docker
# 백엔드 도커 이미지 (멀티스테이지 빌드)
|
|
# 학습 포인트: 1단계에서 Maven으로 빌드하고, 2단계에는 실행에 필요한 JRE+JAR만 담아요.
|
|
# 이렇게 하면 최종 이미지가 작아지고(빌드 도구 미포함), 서버에 Java를 설치할 필요도 없어요.
|
|
|
|
# ── 1단계: 빌드 ──
|
|
FROM maven:3.9-eclipse-temurin-21 AS build
|
|
WORKDIR /build
|
|
# pom.xml만 먼저 복사해 의존성을 캐시 — 코드만 바뀌면 라이브러리 다운로드를 다시 안 해요
|
|
COPY pom.xml .
|
|
RUN mvn -q dependency:go-offline
|
|
COPY src ./src
|
|
RUN mvn -q -DskipTests package
|
|
|
|
# ── 2단계: 실행 ──
|
|
FROM eclipse-temurin:21-jre-alpine
|
|
WORKDIR /app
|
|
COPY --from=build /build/target/mirim-backend-*.jar app.jar
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|