방법 1 : 컨테이너 환경 변수 설정
docker 컨테이너 실행시 환경 변수를 설정합니다. (key-value 쌍)
sudo docker run --rm -d -e API_KEY="..." -p 5006:5006 {도커 이미지}
Python 파일에서는 os.getenv() 함수로 환경변수 API_KEY(key)의 value값을 호출합니다.
import os
API_KEY = os.getenv('API_KEY')
print(API_KEY)
방법 2 : 도커 -v 옵션 활용
(참고: 아래 예시는 Jenkins에서 Publish Over SSH 플러그인을 활용한 경우 입니다.)
jenkins : Send files or execute commands over SSH after the build runs ...
...
sudo docker run --rm -d -v /home/ubuntu/:/test/api_key -p 5006:5006 {도커 이미지}
여기서 호스트 /home/ubuntu == 컨테이너 /test/api_key 는 완벽히 같은 디렉토리입니다.
# /test/api_key/OPENAI.py
OPENAI_API_KEY = "..."
Python 파일에서는
from api_key import OPENAI
import openai
# 발급받은 API 키 설정 (호스트의 디렉토리를 볼륨하는 방법)
OPENAI_API_KEY = OPENAI.OPENAI_API_KEY
openai.api_key = OPENAI_API_KEY
test/api_key/ 디렉토리에 존재하는 OPENAI.py를 import한 후, 내부에 존재하는 OPENAI_API_KEY 변수를 호출하여 사용하는 방식입니다.