0. Docke로 배포하기 위한 필수 파일
- `Dockerfile`
- Spring Boot 애플리케이션을 이미지로 빌드하기 위한 설정 파일
- 내가 작성한 Dockerfile 코드를 예시로 첨부함
FROM eclipse-temurin:17-jre
WORKDIR /app
COPY build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
- `docker-compose.yml`
- 여러 컨테이너를 묶을 때 사용
- 애플리케이션 실행에 필요한 컨테이너들을 정의하고 동시에 실행할 수 있도록 하는 설정 파일
- 내가 작성한 코드 일부를 예시로 첨부함
version: "3.8"
services:
app:
build: .
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=docker
env_file:
- .env
- + 혹시 필요하다면 `.dockerignore`
- Docker가 이미지를 빌드할 때 컨텍스트에 포함하지 않을 파일/폴더 목록 설정
- Docker가 불필요한 파일까지 복사해서 이미지에 포함시키지 않도록
- 내가 작성한 코드를 예시로 첨부함
[.dockerignore]
.gradle
.idea
.gitignore
1. Docker Desktop 실행
// Docker Desktop 정상 실행 여부 확인
docker info
2. Docker 기반 서비스 기동 단계
// 1. 프로젝트 디렉토리로 이동
cd ~ 현재파일
// 2. 기존의 build 파일 삭제! (기존 파일의 버전 모르니까)
// 3. Spring Boot 앱 빌드 (jar 생성)
./gradlew build
// 4. Docker 이미지 빌드
docker-compose build
// 5. 백그라운드에서 컨테이너 실행
docker-compose up -d
# docker-compose up -d --build (Dockerfile 또는 설정 변경시 --build 추가)
// 6. 현재 실행중인 컨테이너 확인
docker ps
// 7. spring boot 앱 로그 출력 (Tomcat started on port(s): 8080 로그가 출력되야 함)
docker-compose logs -f app
// 로그에서 빠져나오기
ctrl + c
3. 애플리케이션 실행 확인
- intelliJ 없이 실행 확인
- 정상적으로 열리면 Docker 만으로 앱이 구동된 것
// 브라우저에서 접속
http://localhost:8080



🌕회고
로컬에서 배포를 먼저 겪어봐야 aws에서 배포하는 단계를 이해할거라고 하신 튜터님들의 조언을 따라 로컬에서 먼저 배포를 진행해보았다. 덕분에 빌드되고, 이미지 생성 단계를 거쳐서 컨테이너가 실행되기까지의 명령어의 흐름을 이해할 수 있었다!
LIST
'👩🏻💻TIL (Today I Learn) > Docker' 카테고리의 다른 글
| Valhalla API 연동 성공... (0) | 2025.09.15 |
|---|---|
| 🐈⬛ github actions를 통한 cicd 파이프라인 구축 (1) | 2025.06.02 |
| 🐋 aws를 활용하여 Docker로 배포하기 (2) | 2025.05.30 |
| 🐋Docker를 통해 배포할 때 환경변수 설정하는 방법 (0) | 2025.05.21 |