-
Docker compose - .env 활용하기Dev 2022. 2. 8. 21:11
* 프로젝트 개발 환경에 따른 변수를 .env에서 선언하고 Docker compose 안에서 참조하거나 각 서비스(API, Web Server 등)에 변수를 전달해서 환경 변수로 활용하자.
./.env FLASK=project_api FLASK_PORT=11234 PROXY=project_proxy PROXY_PORT=11235 REDIS=project_redis REDIS_PORT=6379 REDIS_PASSWORD=password # API 에서 전달될 환경 변수 DB_URL='URL_0101' ./docker-compose.yml version: "3" services: flask: container_name: "${FLASK}" restart: always build: ./flask volumes: - ./flask/logs:/usr/src/flask_app/logs expose: - "${FLASK_PORT}" env_file: - ./.env # 다른 변수들이 컨테이너 안 os.getenv("DB_URL") 전달됨 command: gunicorn -c ./gunicorn.conf.py "app:create_app('prod')" depends_on: - redis # 컨테이너 이름이 아닌 여기서 서비스로 지정한 이름(여기는 nginx 또는 redis) nginx: container_name: "${PROXY}" restart: always build: ./nginx volumes: - ./nginx/log:/var/log/nginx ports: - "${PROXY_PORT}:80" depends_on: - flask redis: image: redis:4.0.11-alpine container_name: "${REDIS}" command: "redis-server --requirepass ${REDIS_PASSWORD}" ports: - "${REDIS_PORT}"'Dev' 카테고리의 다른 글
CI/CD 지속적 통합/지속적 전달(제공),배포 + release<->deploy (0) 2022.03.05 NGINX - PROXY - 서브도메인 설정하기 (0) 2022.02.16 Github actions - Github pages / S3 / NodeJS Jest (0) 2022.02.05 Github actions - AWS ECR/Lambda 자동 배포 (0) 2022.02.03 Git commnad + commit messages (0) 2021.07.06