Python(Flask) API Key 분리

Hurlang·2023년 4월 17일
0

docker

목록 보기
2/4
post-thumbnail

방법 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 변수를 호출하여 사용하는 방식입니다.

profile
개발 꿈나무 Hurlang 입니다.

0개의 댓글