Docker 환경 변수 설정

개발/Docker 2022. 5. 11. 08:20

Docker로 postgres 와 NestJs로 서버를 띄웠는데 NestJs 부분의 DockerFile 내부에 환경 변수를 따로 선언하지 않아 위와 같이 환경 변수를 잡아오지 못하는 이슈가 발생하였다. DockerFile 내부에 ENV를 사용하여 아래와 같은 방법으로 환경 변수를 추가할 수 있다. 1. 한 번의 ENV에 모든 환경 변수를 선언하는 방법 FROM node:14 RUN mkdir -p /app/src WORKDIR /app COPY ./server ./ RUN npm install ENV DB_HOST=localhost \ DB_PORT=3301 \ DB_USERNAME=postgres \ DB_PASSWORD=test1234 \ DB_DATABASE=test_db EXPOSE 8001 CM..

Article Thumbnail
.ini 파일 KeyError 해결 방법

개발/Flask 2021. 10. 28. 08:20

config.ini와 같이 .ini 파일로 데이터베이스 환경변수를 관리하여 unittest를 하던 중, 위와 같이 KeyError가 발생하며 값을 읽어오지 못하는 일이 발생하였다. 원인 원인은 config.ini의 경로를 ../config.ini로 지정하고, basedir를 지정해주지않아서 실행하는 디렉토리에 따라 경로가 달라져 못 읽어오는 것 이었다. 해결방법 config.ini를 불러오는 코드의 윗 줄에 아래와 같이 basedir를 지정해주는 코드를 추가하면 정상적으로 test가 실행됨을 볼 수 있다. basedir = os.path.dirname(os.path.abspath(__file__)) os.chdir(basedir) config = configparser.ConfigParser() conf..

Article Thumbnail
Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory. 해결방법

개발/Flask 2021. 10. 23. 08:20

Flask 서버를 실행시키다 보면 다음과 같이 Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory. 에러가 발생할 때가 있다. 원인 Flask는 FLASK_APP 환경 변수가 지정되지 않은 경우, 자동으로 app.py를 기본 애플리케이션으로 인식한다. 위의 문제는 환경변수가 지정되지 않았는데 app.py도 없을 때를 발생한다. 해결 방법 프로젝트 디렉토리에서 $ set FLASK_APP="{프로젝트 명}" 커맨드를 통해 FLASK_APP 변수를..