[Docker] direnv로 godotenv 대체하기

nzero·2024년 2월 3일
0

Where is the Book

목록 보기
5/6

Docker를 multistage-build로 올리면 러너에는 오브젝트 파일만 있다보니, godotenv 등 환경변수 파일에 직접 접근하는 모듈을 사용할 시 오류가 난다. 이를 해결하기 위해 로컬에서는 direnv로 환경변수를 관리하고 러너에는 docker compose로 환경변수를 넘겨주면 된다.

direnv 설치

brew install direnv

direnv에서 .env 파싱하도록 설정

  1. 설정파일 생성
mkdir ~/.config/direnv && touch ~/.config/direnv/direnv.toml
  1. .env 파일 추가
[global]
load_dotenv = true
  1. 실행
exec $SHELL

Docker compose에서 환경변수 넘겨주기

services:
  app:
    container_name: witb_b
    build: .
    ports:
      - "8989:4000"
    env_file:
      - .env

0개의 댓글