반응형
docker에서 arg와 env에 대한 사용 방법을 정리
arg : Dockerfile build시에 사용하는 변수
env : container 시작시에 사용하는 변수
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dockerfile | |
FROM openjdk:8-jdk-alpine | |
ARG JAR_FILE=./target/libs/*.jar | |
# ARG는 Dockerfile build시에 사용 | |
ARG ARG_PROFILE | |
ENV PROFILE=${ARG_PROFILE} | |
COPY ${JAR_FILE} app.jar | |
EXPOSE 24500 | |
ENTRYPOINT exec java -jar -Dspring.profiles.active=${PROFILE} /app.jar | |
# ARG_PROFILE변수에 QA값이 바인딩 되면서 빌드시에 PROFILE 변수에 값이 들어간다. | |
$ docker build --build-arg ARG_PROFILE=QA -f ./Dockerfile /usr/projects/rootPath --tag qa_docker | |
# ENV PROFILE 변수에 QA로 세팅된걸 확인할 수 있다. | |
$ docker inspect qa_docker | |
"Env": [ | |
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin", | |
"LANG=C.UTF-8", | |
"JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk", | |
"JAVA_VERSION=8u212", | |
"JAVA_ALPINE_VERSION=8.212.04-r0", | |
"PROFILE=QA" | |
], | |
# docker run 실행시 환경변수를 추가하여 오버라이딩이 가능하다. | |
$ docker run --env PROFILE=LIVE qa_docker | |
# PROFILE 변수에 LIVE가 세팅된걸 확인 | |
$ docker inspect [qa_docker_container_id] | |
"Env": [ | |
"PROFILE=LIVE", | |
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin", | |
"LANG=C.UTF-8", | |
"JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk", | |
"JAVA_VERSION=8u212", | |
"JAVA_ALPINE_VERSION=8.212.04-r0" | |
], | |
#docker 를 이용한 springboot 실행시 profile 변경이 가능하다. | |
$ docker run --env PROFILE=LIVE qa_docker | |
$ docker run --env PROFILE=TEST qa_docker | |
$ docker run --env PROFILE=QA qa_docker |
env 옵션을 이용하여 docker를 이용하여 spring boot 실행시에 profile을 지정할 수 있다.
반응형
'linux > docker' 카테고리의 다른 글
docker pull proxy 설정 (0) | 2020.09.18 |
---|---|
docker tar로 만들기, tar import 하기 (0) | 2020.09.16 |
docker tomcat 이미지에 nginx를 추가하여 이미지 생성 (0) | 2018.03.15 |
docker bridge 네트워크에서 인터넷이 안될때 (1) | 2018.03.13 |
centos 6.5 docker 설치해보기 (0) | 2018.03.06 |