728x90
반응형
환경 변수 & '.env' 파일 작업
Docker의 인수(ARG)와 환경 변수(ENV) 이해하기
개요
인수(ARG)와 환경 변수(ENV)의 차이
- ARG : 빌드 타임에 사용 (Dockerfile 내부)
- ENV: 런타임에 사용 (실행 중인 컨테이너)
환경 변수(ENV) 사용
Dockerfile에서 설정
ENV PORT 80
EXPOSE $PORT
실행 시 설정 방법
# 직접 설정
docker run --env PORT=8000 ...
docker run -e PORT=8000 ...
# 환경변수 파일 사용
docker run --env-file ./.env ...
애플리케이션에서 사용
// Node.js 예시
const port = process.env.PORT;
사용 사례
포트 설정
- 개발/프로덕션 환경별 다른 포트 사용
- 동적 포트 할당
구성 설정
- 데이터베이스 연결 정보
- API 엔드포인트
- 기타 설정 값
보안 고려사항
민감한 정보
- Dockerfile의 ENV에 직접 포함하지 않기
- 별도의 환경변수 파일 사용
- 소스 컨트롤에서 제외
이미지 히스토리
docker history <이미지> # ENV 값 확인 가능
장점
유연성
- 동일 이미지로 다양한 환경 구성
- 런타임에 설정 변경 가능
관리 용이성
- 설정 중앙화
- 환경별 구성 분리
이러한 기능을 통해 더 유연하고 안전한 Docker 환경을 구성할 수 있습니다.
참고
728x90
반응형
'강의 > Docker & Kubernetes : 실전 가이드' 카테고리의 다른 글
[64] 빌드 인수 (ARG) 사용하기 (0) | 2025.02.24 |
---|---|
[60] 모든것을 복사하진 마세요 : "dockerignore" 파일 사용하기 (0) | 2025.02.23 |
[59] COPY 사용 vs 바인드 마운트 사용 (0) | 2025.02.23 |
[58] Docker 볼륨 관리하기 (0) | 2025.02.23 |
[57] 읽기 전용 볼륨 살펴보기 (0) | 2025.02.23 |
댓글