방명록
- Spring Boot 애플리케이션 Docker 이미지 빌드 및 실행 가이드2025년 07월 15일 21시 08분 06초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
Spring Boot 애플리케이션 Docker 이미지 빌드 및 실행 가이드
Spring Boot 애플리케이션을 도커(Docker) 이미지로 만들고 실행하는 과정은 매우 간단하다. 이 글에서는 애플리케이션 빌드부터 도커 이미지 생성, 그리고 컨테이너 실행까지의 핵심 과정을 단순 명료하게 설명한다.
1. Spring Boot 애플리케이션 빌드
도커 이미지를 만들기 전에 먼저 Spring Boot 애플리케이션을 빌드해야 한다.
gradlew clean build
명령어를 사용하여 프로젝트를 빌드하면 실행 가능한 JAR 파일이 생성된다.gradlew clean build
: 프로젝트를 클린(clean)하고 빌드하는 명령어이다. 이 과정을 통해build/libs
디렉토리에 JAR 파일이 생성된다.C:\Users\dandycode\Documents\GitHub\docker-practice\demo>gradlew clean build
2. Dockerfile 작성
도커 이미지를 빌드하기 위한
Dockerfile
을 작성해야 한다.Dockerfile
은 애플리케이션을 실행하는 데 필요한 환경과 파일을 정의하는 스크립트이다.FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar app.jar ENTRYPOINT [ "java", "-jar", "/app.jar" ]
FROM openjdk:17-jdk
: 기본 이미지를openjdk:17-jdk
로 지정한다. Spring Boot 애플리케이션은 Java 17 환경에서 실행되므로 이에 적합한 이미지를 선택한다.COPY build/libs/*SNAPSHOT.jar app.jar
: 빌드된 JAR 파일을app.jar
라는 이름으로 도커 이미지 내부에 복사한다.*SNAPSHOT.jar
는 빌드 시 생성되는 JAR 파일의 이름을 유연하게 처리하기 위함이다.ENTRYPOINT [ "java", "-jar", "/app.jar" ]
: 컨테이너가 시작될 때 실행될 명령어를 지정한다. 복사된app.jar
파일을java -jar
명령어로 실행한다.
3. Docker 이미지 빌드
작성된
Dockerfile
을 사용하여 도커 이미지를 빌드한다.docker build -t spring-server .
: 현재 디렉토리의Dockerfile
을 사용하여spring-server
라는 이름의 도커 이미지를 빌드한다.-t
옵션은 이미지에 태그(이름)를 지정하는 데 사용된다..
은Dockerfile
이 현재 디렉토리에 있음을 의미한다.C:\Users\dandycode\Documents\GitHub\docker-practice\demo>docker build -t spring-server .
4. Docker 이미지 확인
이미지 빌드가 완료되면
docker image ls
명령어로 빌드된 이미지를 확인할 수 있다.docker image ls
: 로컬에 저장된 도커 이미지 목록을 보여준다. 방금 빌드한spring-server
이미지를 확인할 수 있다.
5. Docker 컨테이너 실행
빌드된 이미지를 기반으로 도커 컨테이너를 실행한다.
1)
docker run -d -p 8080:8080 spring-server
docker run
: 도커 컨테이너를 실행하는 명령어이다.-d
: 컨테이너를 백그라운드에서 실행한다.-p 8080:8080
: 호스트 머신의 8080 포트를 컨테이너의 8080 포트에 매핑한다. 이를 통해 외부에서 호스트의 8080 포트로 접속하면 컨테이너 내부의 Spring Boot 애플리케이션에 접근할 수 있다.spring-server
: 실행할 도커 이미지의 이름이다.
2)
docker ps
docker ps
: 현재 실행 중인 도커 컨테이너 목록을 보여준다. 방금 실행한spring-server
컨테이너가 정상적으로 실행 중인지 확인할 수 있다.
3) 로그 확인
docker logs [CONTAINER_ID]
: 특정 컨테이너의 로그를 보여준다.[CONTAINER_ID]
는docker ps
명령어로 확인한 컨테이너 ID의 앞 몇 자리를 입력하면 된다. 로그를 통해 Spring Boot 애플리케이션이 성공적으로 시작되었는지 확인할 수 있다.
728x90반응형'DevOps > Docker' 카테고리의 다른 글
Dockerfile의 WORKDIR 명령어 이해하기 (1) 2025.07.17 Dockerfile `RUN` 명령어: 컨테이너에 Git 설치해 보기 (0) 2025.07.17 Docker 컨테이너의 시작점: ENTRYPOINT 명령어 완벽 이해 (0) 2025.07.15 Dockerfile의 COPY 명령어와 .dockerignore 파일 활용 실습 (1) 2025.07.15 도커(Docker) 기본 명령어 실습: 컨테이너 생성 및 관리 (3) 2025.07.14 다음글이 없습니다.이전글이 없습니다.댓글