[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
댓글 영역