| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 리눅스war파일배포
- 리눅스배포
- mysql 머지
- 리눅스아파치셋팅
- jar배포하기
- 리눅스스프링부트배포
- 리눅스아파치톰캣설치
- java
- 이클립스콘솔한글깨짐
- mysql사용자권한부여
- 리눅스인증서설정
- jqpl
- 리눅스java서버
- 리눅스java서버셋팅
- 리눅스war배포
- war서버배포
- jpql이란
- 리눅스스프링배포
- myql유저권한부여
- chart.js오류
- 리눅스jar파일배포
- ssl인증서설정
- 리눅스서버셋팅
- 리눅스자바서버
- 인텔리제이한글깨짐
- 인텔리제이한글유니코드
- mysql사용자생성
- 인텔리제이콘솔한글깨짐
- 리눅스인증서
- chart.js오류해결
- Today
- Total
Cherish
[Docker] Part 2. Windows에서 Spring Boot 프로젝트 Docker 이미지 만들기 본문
https://cherish-hj.tistory.com/27
Docker란 무엇인가?
기본 개념과 사용이유에 대한 내용은 위 링크 참고
이제 실제로 Window 로컬에서 만든 백엔드 프로젝트를
Docker 이미지로 패키징해보자.
여기서는 다음 요소를 기준으로 진행한다.
- OS: Windows
- Framework: Spring Boot
- Build: Gradle
- Java 17이
- MySQL 사용
1. 프로젝트 빌드(JAR 생성)
윈도우 기준으로 CMD 창을 켜고
프로젝트 루트로 이동 후 아래 명령어 실행
(또는 이클립스, 인텔리제이 등 IDE에서 바로 빌드해도됨)
gradlew clean build
이런 파일이 생성된다.
이제 이 JAR 파일이 Docker 컨테이너 안으로 들어가 실행되는것이다.
2. Dockerfile 만들기
프로젝트 루트 위치에 파일명 "Dockerfile" 이라는 확장자 없는 파일을 생성 후 아래 내용 복붙후 저장
FROM eclipse-temurin:21-jdk
WORKDIR /app
COPY build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app/app.jar"]
첫줄에 21-jdk 부분은 jdk 버전에 맞춰 숫자만 바꿔주면 된다.
<파일 내용 설명>
- Java 21 JDK가 포함된 리눅스 이미지 사용
- app.jar를 컨테이너 안 /app 폴더로 복사
- 앱 실행 시 java -jar로 실행
3. Docker 이미지 빌드
1. Docker Desktop 실행
2. 아래 명령어 실행
docker build -t [프로젝트명]:latest .
3. 성공 시 아래 메세지 출력 확인
Successfully tagged [프로젝트명]:latest
4. Docker 컨테이너 실행
8080 포트 매핑해서 실행
docker run -d --name [프로젝트명]-app -p 8080:8080 [프로젝트명]:latest
- [프로젝트명]:latest 이미지로 컨테이너 생성
- 브라우저에서 http://localhost:8080 접근 가능
5. 정상실행 확인
* docker 실행 컨테이너 확인하는방법
docker ps
위 명령어를 실행했을 때
아래와 같이 프로세스 표시되면 실행성공.

docker 실행되지 않았을 경우에는 아래 괄호처럼 내용이 없음
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(아무것도 없음)
여기까지 성공했다면
이제 운영 서버(Linux)로 옮기기만 하면 된다.
즉, 배포 준비 완료 상태가 된것임
다음 포스팅은 Docker 이미지 Linux 서버에 배포하는 방법을 다뤄볼 예정!
'Docker' 카테고리의 다른 글
| [Docker] Part 3. Windows에서 만든 Docker 이미지를 Linux 서버에 배포하기 (0) | 2025.11.24 |
|---|---|
| [Docker] Part 1. Docker란 무엇인가? 개념 및 간단 정리 (0) | 2025.11.24 |