Post

Docker - Dockerfile 분리에 대해서 알아보자.

Docker - Dockerfile 분리에 대해서 알아보자.

실무에서 개발을 진행할 때 일반적으로 설정 파일을 local, dev 등으로 나눠서 환경에 따라 관리한다.

docker image를 빌드시킬 때 사용하는 Dockerfile도 이처럼 분리하여 관리가 가능하다.

환경별 분리

local.Dockerfile 예시

1
2
3
4
5
6
7
8
9
FROM openjdk:17-jdk-alpine

WORKDIR /app

COPY target/example-0.0.1.jar example-0.0.1.jar

EXPOSE 9000

ENTRYPOINT ["java", "-jar", "example-0.0.1.jar"]

dev.Dockerfile 예시

1
2
3
4
5
6
7
8
9
FROM openjdk:17-jdk-alpine

WORKDIR /app

COPY target/example-0.0.1.jar example-0.0.1.jar

EXPOSE 11000

ENTRYPOINT ["java", "-jar", "example-0.0.1.jar"]

빌드 커맨드

1
docker build -f dev.Dockerfile -t image명 .
  • -f: 사용할 Dockerfile 명시
    • 기본은 Dockerfile, 환경에 따라 -f dev.Dockerfile처럼 분리해서 빌드 가능

이렇게 Dockerfile을 환경별로 분리하면 유지보수와 배포 자동화에 유리하며, 불필요한 수정 없이 효율적인 이미지를 생성할 수 있다.

This post is licensed under CC BY 4.0 by the author.