TechBridge

환경변수 & .env 파일 — 시크릿 안전하게 관리

← 목록으로

📋 실습 안내

✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기 내 코드 실행 결과
🎯 완성 미리보기 목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기 이번 강의 전용
  선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. docker-compose.yml에서 .env 파일을 로드하는 올바른 방법은?
💡 docker-compose.yml에서 외부 .env 파일을 로드하려면 env_file 키를 사용합니다. env_file 아래에 파일 경로를 나열하면 해당 파일의 모든 환경변수가 컨테이너에 주입됩니다. environment 키는 환경변수를 직접 설정하거나 ${변수명}으로 참조할 때 사용합니다.
Q2. 환경변수 우선순위가 올바르게 나열된 것은? (높음에서 낮음 순서)
💡 Docker 환경변수 우선순위는 셸 환경변수 > docker-compose의 environment 키 > env_file(.env) > Dockerfile의 ENV 순입니다. 따라서 셸에서 export로 설정한 값이 가장 높은 우선순위를 가지며, .env 파일의 값을 셸 환경변수로 오버라이드할 수 있습니다.
Q3. .env 파일을 실수로 git commit 후 push했을 때 올바른 대응 방법은?
💡 git에서 파일을 삭제해도 히스토리에는 여전히 남아있어서 git show로 내용을 볼 수 있습니다. 즉시 인증 정보를 변경(비밀번호 재설정, API 키 재발급)하는 것이 최우선이고, 이후 git filter-branch나 BFG Repo Cleaner로 히스토리에서 완전히 제거해야 합니다.
Q4. .env 파일에서 특수문자가 포함된 비밀번호를 올바르게 설정하는 방법은?
💡 특수문자가 포함된 값은 쌍따옴표로 감싸는 것이 가장 안전합니다. 따옴표 없이 사용하면 # 이 주석으로 해석되거나 $ 가 변수 참조로 해석될 수 있습니다. 예를 들어 DB_PASSWORD=abc#123 으로 설정하면 abc만 읽히고 #123은 주석 처리됩니다.
Q5. .gitignore에서 .env 파일은 제외하면서 .env.example 파일은 git에 포함시키는 올바른 설정은?
💡 .gitignore에서 ! 를 앞에 붙이면 해당 패턴은 제외 규칙에서 예외처리(포함)됩니다. .env 로 .env 파일을 제외하고, .env.* 로 .env.production 같은 파일도 제외한 뒤, !.env.example 로 템플릿 파일만 다시 포함시킵니다.
🎉

퀴즈 통과!

점수: 0점 — 수고하셨습니다!

다음 강의로 →
😅

아쉽네요!

점수: 0점 — 70점 이상이 되어야 통과합니다.