docker-compose 스크립트에서 환경변수 파일(.env)을 따로 읽어오는 방법은 --env-file 명령어를 사용하는 것이다.
# 예시 (-d: background 실행)
docker-compose --env-file ${CURRENT_PATH}/.env up -d
이 명령어를 리눅스의 쉘 스크립트 내부에서 사용하고 환경변수 파일(.env)에 사용된 환경변수를 중복선언하지 않고 쉘 스크립트 내부에서 공유하는 방법이 필요했다.
하지만 app에서는 config.ini 파일을 쓰고 있어서 결론적으로는 두개를 사용하게 되버렸지만..ㅠㅠ
본론으로 돌아와서 쉘 스크립트에서 export 명령어를 사용하면 된다.
# Shell Script 읽어오기 테스트
while read line;
do
export $line
done < .env
이렇게 쉘 스크립트에 써주면 같은 디렉토리에 있는 .env 파일을 읽어와 해당 환경설정 변수들을 설정해준다.
쉘 스크립트 내부에서 사용하는 export 명령어는 지역(local)변수이기 때문에 부모 환경설정에 영향을 미치지 않는다.
따라서 마음대로 막 써줘도 된다..!
'의지박약 > DevOps' 카테고리의 다른 글
[Airflow] 기본 DB를 Postgresql로 변경하기 (1) | 2021.09.15 |
---|---|
[AirFlow] db init ERROR - Fail to ~ GET /api/v1/connections ... AttributeError: columns (0) | 2021.09.15 |
[Shell Script] 쉘 스크립트에서 config.ini 파일 읽고 쓰기 (feat. konfig) (0) | 2021.09.08 |
[Docker] Docker run 상태 유지하기 (0) | 2021.09.01 |
[docker] Dockerfile 빌드시 timezone 설정 때문에 설치되지 않는 오류 (tesseract) (0) | 2021.08.23 |
댓글