티스토리 뷰

이번 글에서는 도커 컨테이너의 환경변수에 대해 공부해보려고 한다. 도커 컨테이너를 실행할 때 필요한 변수, 파일과 같은 것들을 주입하여야 하는데, 컨테이너에 변수를 주입하는 방법으로 가장 대표적인 방법이 환경변수를 통한 방법이다. 환경변수를 어떻게 주입할 수 있는지 다루어 본다.

도커를 통해 환경변수를 주입하는 방법은 두 가지가 있다.

 

-e 옵션을 이용하여 docker run 시에 환경변수 주입

-e 라는 옵션을 이용하여 환경 변수를 주입할 수 있다. 다음 명령어를 통해 MY_HOST=tistory.com 이라는 환경변수를 주입한 ubuntu:focal 이미지를 기반으로 하는 컨테이너를 실행하고, bash 쉘로 접속할 수 있다.

docker run -i -t -e MY_HOST=tistory.com ubuntu:focal bash

 

위 명령어를 실행하면 다음과 같이 자동으로 해당 컨테이너의 bash 쉘로 접속하게 되는데,

 

이 상태에서 echo 명령어를 이용하여, 주입된 환경변수를 출력해 보자.

echo $MY_HOST

 

다음과 같이 정상 출력됨을 확인할 수 있다.

 

env 명령으로도 해당 환경변수가 주입되어 있는 것을 확인할 수 있다.

 

또한, 해당 컨테이너를 inspect 명령으로 들여다봐도 Env 에 해당 환경변수가 정의되어 있는 것을 확인할 수 있다.

 

환경변수 파일로 주입하는 방법

개발 (테스트) 환경에서는 파일로 주입하는 방법이 유용하다.

먼저, 다음과 같이 sample.env 파일을 생성한다.

 

세 가지의 환경 변수를 정의하였다.

이제 docker run 명령어를 실행할 때 몇 가지 옵션을 붙여 실행하면 된다.

docker run -i -t --env-file ./sample.env ubuntu:focal

--env-file 명령어를 통해 환경변수 파일의 경로를 명시한 후 컨테이너를 실행하는 방식이다.

바로 환경변수 목록을 보기 위해 명령어 뒤에 env 명령을 붙여도 된다.

 

다음과 같이 컨테이너 환경변수가 정상적으로 등록된 것을 확인할 수 있다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함