FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"]
services: api-server: build: . ports: - 8080:8080 depends_on: cache-server: condition: service_healthy cache-server: image: redis ports: - 6379:6379 healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 5s retries: 10
# Redis 중지 $ brew services stop redis $ brew services info redis # 잘 종료됐는 지 확인 # Spring Boot 종료 $ lsof -i:8080 # 8080번 포트 실행되고 있는 프로세스 확인 $ kill {Spring Boot의 PID} # 프로세스 종료 $ lsof -i:8080 # 잘 종료됐는 지 확인
# local 환경 spring: profiles: default: local datasource: url: jdbc:mysql://host.docker.internal:3306/mydb username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: true data: redis: host: cache-server port: 6379 logging: level: org.springframework.cache: trace --- # prod 환경 spring: config: activate: on-profile: prod datasource: url: jdbc:mysql://instagram-db.coseefawhrzc.ap-northeast-2.rds.amazonaws.com:3306/mydb username: admin password: password
$ ./gradlew clean build -x test $ docker compose up --build -d $ docker ps # 잘 띄워졌는 지 확인 $ docker compose logs -f # 실시간 로그 확인하기
