Docker는 애플리케이션을 컨테이너화하여 효율적으로 배포할 수 있는 도구입니다. 이러한 배포 중에는 환경 변수를 설정해야 할 경우가 많은데, python-dotenv 라이브러리를 사용하면 간편하게 환경 변수를 관리할 수 있습니다.
python-dotenv란?
python-dotenv는 .env 파일을 읽어서 환경 변수를 설정해주는 파이썬 라이브러리입니다. .env 파일은 애플리케이션의 설정 값들을 저장하는 파일로, 보통 키-값 형태로 구성됩니다.
설치하기
python-dotenv를 설치하기 위해서는 pip를 사용합니다.
pip install python-dotenv
사용하기
-
환경 변수가 필요한 프로젝트 디렉토리에 .env 파일을 생성합니다.
-
.env 파일에 환경 변수를 설정합니다. 예를 들어, 다음과 같이 설정할 수 있습니다.
DB_HOST=localhost DB_PORT=5432 DB_USER=username DB_PASSWORD=password
-
파이썬 코드에서 python-dotenv를 사용하여 환경 변수를 로드합니다.
from dotenv import load_dotenv load_dotenv()
-
이제 환경 변수에 접근할 수 있습니다. 예를 들어, DB_HOST 환경 변수에 접근하려면 다음과 같이 사용합니다.
import os db_host = os.getenv("DB_HOST")
이렇게 하면 db_host 변수에 “localhost” 값이 할당됩니다.
Docker 컨테이너에서 python-dotenv 사용하기
Docker 컨테이너에서 python-dotenv를 사용하기 위해서는 몇 가지 추가적인 단계가 필요합니다.
-
Dockerfile에 python-dotenv를 설치합니다.
FROM python:3.9 ... RUN pip install python-dotenv ...
-
Dockerfile에 .env 파일을 복사합니다.
COPY .env .
-
Docker 컨테이너에서 .env 파일을 사용할 수 있도록 설정합니다.
ENV DOTENV_PATH=./.env
-
파이썬 코드에서 .env 파일을 로드합니다.
dotenv_path = os.getenv("DOTENV_PATH") load_dotenv(dotenv_path=dotenv_path)
이제 Docker 컨테이너에서 python-dotenv를 사용하여 환경 변수를 설정하고 로드할 수 있습니다.
마무리
python-dotenv를 사용하면 Docker 컨테이너 내에서 간편하게 환경 변수를 설정하고 사용할 수 있습니다. 이를 통해 애플리케이션의 설정 값을 관리하고, 환경에 따라 여러 가지 설정을 쉽게 변경할 수 있습니다. 자세한 내용은 공식 문서를 참조하시기 바랍니다.