최대 1 분 소요

이 글을 참고했다.

Spring Boot 프로젝트 구성

application.yml

spring:
  profiles.active: dev # ✅ 로컬에서 실행시 기본 프로필은 dev
  jpa:
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        globally_quoted_identifiers: true
        format_sql: true
        dialect: org.hibernate.dialect.MySQL8Dialect
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  data:
    web:
      pageable:
        default-page-size: 5
  servlet:
    multipart:
      max-file-size: 3MB
      max-request-size: 5MB
  config:
    import:
      - aws-s3.yml

logging.level:
  org.hibernate.SQL: debug

---

spring:
  config.activate.on-profile: prod # ✅ prod

---

spring:
  config.activate.on-profile: dev # ✅ dev
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/dasibom-prac?serverTimezone=UTC&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: admin
    password: admin

로컬에서 실행하면 기본적으로 dev 프로필이 적용되므로 로컬 db를 이용한다.
prod 환경에서는 mysql 컨테이너를 이용하기 때문에 datasource를 설정하지 않았다.

Dockerfile

FROM eclipse-temurin:11-jdk
VOLUME /tmp
ARG JAR_FILE=./build/libs/practice-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/app.jar"] # ✅ 프로필을 prod로 설정해준다.
EXPOSE 8080


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: