
Dockerfile 작성하기
Docker 이미지를 만들기 위해서는 Dockerfile이라는 파일을 작성해야 합니다. 이 파일에는 이미지 생성 과정을 정의하는 **명령어(키워드)**들이 포함되어 있습니다.
주요 키워드 정리
키워드 | 설명 |
FROM | 사용할 베이스 이미지를 지정합니다. 모든 Dockerfile은 이로 시작합니다. |
COPY | 로컬 파일을 이미지 안으로 복사합니다. 보통 .jar 파일이나 설정파일 복사 시 사용합니다. |
RUN | 이미지 빌드 중에 실행할 쉘 명령어입니다. 패키지 설치 등 초기 설정에 사용됩니다. |
WORKDIR | 이후 명령들이 실행될 작업 디렉토리를 지정합니다. cd와 비슷합니다. |
EXPOSE | 컨테이너가 사용하는 포트를 명시합니다. (단, 이 자체로 포트를 열지는 않음) |
ENTRYPOINT | 컨테이너 실행 시 실행될 기본 실행 명령어를 설정합니다. 보통 Java 실행 명령 등 설정 시 사용됩니다. |
Spring Boot 이미지 만들기(Dockerfile)
Spring Boot 애플리케이션은 일반적으로 .jar 파일로 패키징됩니다. 이 파일을 기반으로 Docker 이미지를 생성하려면 다음과 같이 Dockerfile을 작성합니다.
1. Spring Boot 프로젝트 빌드
./gradlew clean build
# 또는
mvn clean package
빌드 결과물은 보통 build/libs/myapp.jar 또는 target/myapp.jar 위치에 생성됩니다.
2. Dockerfile 작성
# 1. 사용할 베이스 이미지 지정 (Java 런타임 포함)
FROM eclipse-temurin:17-jdk
# 2. 작업 디렉토리 설정
WORKDIR /app
# 3. 빌드된 JAR 파일 복사
COPY build/libs/myapp.jar app.jar
# 4. 컨테이너에서 사용할 포트 명시
EXPOSE 8080
# 5. 애플리케이션 실행 명령 설정
ENTRYPOINT ["java", "-jar", "app.jar"]
💡 eclipse-temurin:17-jdk는 OpenJDK 17을 포함한 공식 이미지입니다. 필요에 따라 openjdk:17, amazoncorretto:17 등으로 변경 가능.
3. Docker 이미지 빌드 및 실행
# 이미지 빌드
docker build -t my-springboot-app .
# 컨테이너 실행
docker run -p 8080:8080 my-springboot-app
-p 8080:8080은 로컬의 8080 포트를 컨테이너의 8080 포트에 매핑합니다.

단계 | 설명 |
1 | 애플리케이션을 .jar로 빌드 |
2 | Dockerfile 작성 |
3 | docker build 명령으로 이미지 생성 |
4 | docker run으로 실행 |
📚 참고 자료
'Docker' 카테고리의 다른 글
도커(Docker) compose 사용법 (1) | 2025.05.19 |
---|---|
도커 Dockerfile 이란?: FROM 명령어부터 시작 (3) | 2025.05.16 |
도커(Docker) 볼륨(Volumn): 데이터 유실 방지 (0) | 2025.05.15 |
도커(Docker) 명령어 및 포트 매핑 (2) | 2025.05.13 |
도커(Docker)와 컨테이너(Container) (1) | 2024.12.23 |