[Docker] ARG 기본값에 대해(값이 안주어지는 경우)

프로그래밍/서버2020. 12. 19. 23:57

Dockerfile에서 ARG 명령어를 통해 Docker image 빌드시 전달하는 변수를 정의할 수 있습니다.

FROM openjdk:11
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

 

그런데 위 코드와 같이 ARG에 key만 주어진 경우는 어떻게 되는 걸까요? default value가 주어지지 않은 경우입니다.

 

build.gradle에서 docker 플러그인을 통해 docker image를 만들 때 바로 JAR_FILE 값을 줄 수 있습니다.

docker {
    name imageName
    files "build/libs/${bootJar.archiveFileName.get()}"
    buildArgs([JAR_FILE: bootJar.archiveFileName.get()])
}

 

Dockerfile과 build.gradle의 docker{} 플러그인의 사용법을 같이 기억하면 좋을 것 같네요.

 

참고

docs.docker.com/engine/reference/builder/#default-values

 

Dockerfile reference

 

docs.docker.com

github.com/palantir/gradle-docker

 

palantir/gradle-docker

a Gradle plugin for orchestrating docker builds and pushes. - palantir/gradle-docker

github.com

 

작성자

Posted by 드리머즈

관련 글

댓글 영역