본문 바로가기
코딩/Docker

🐳 Docker Compose로 Spring Boot 백엔드 실행하기

by Leedius 2025. 7. 8.

✅ 1. 폴더 구조 만들기

mkdir springboot-app
cd springboot-app
mkdir src

 

최종 구조 예시:

springboot-app/
├── compose.yml
├── Dockerfile
├── .env
└── src/

 


✅ 2. .env 파일 작성

📄 .env

SERVER_PORT=8080

 


✅ 3. Spring Boot 코드 작성 (예: AppController)

📄 src/main/java/.../AppController.java

@RestController
public class AppController {
  @GetMapping("/")
  public String home() {
    return "Hello, World!";
  }
}

 


✅ 4. build.gradle 및 프로젝트 빌드

./gradlew clean build

# windows에서는 gradlew clean build

 


✅ 5. Dockerfile 작성

📄 Dockerfile

FROM openjdk:17-jdk

COPY build/libs/*SNAPSHOT.jar /app.jar

ENTRYPOINT ["java", "-jar", "/app.jar"]

 


✅ 6. compose.yml 작성

📄 compose.yml

services:
	my-server:
    	build: .
        ports:
        	- "${SERVER_PORT}:8080"
        env_file:
        	- .envv

 


🔍 핵심 포인트 설명

항목 설명
env_file .env 파일을 불러와서 환경 변수로 사용
SERVER_PORT 외부에서 접근할 포트 (여기선 8080)
build: . Dockerfile이 있는 현재 디렉토리에서 이미지 빌드
ports 호스트:컨테이너 포트 매핑

 


7. 실행

docker compose up -d --build

 


8. 결과 확인

웹 브라우저에서 http://localhost:8080에 접속

해당 문구가 뜨면 성공!

 


✅ 전체 요약 흐름

Spring Boot 컨테이너(my-server)
   │
   └──▶ 호스트(8080)

 


🧠 보너스 팁

  • .env 파일은 환경변수와 포트 등 관리에 필수
  • .gitignore.env 추가 추천
  • docker compose down 으로 컨테이너 중지/삭제

댓글