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.