그동안 보안보다는 개발의 편의성에 집중했었다.
그러다 보니 디비 비밀번호를 형상관리에 같이 커밋해서 사용하고 있었다.
물론 비공개 프로젝트라 노출이 될 일이 없을 거라 믿지만 늘 찜찜했었다.
이번 기회에 비밀번호를 환경변수에 저장하고 도커컴포즈도 환경변수를 사용하는 것으로 변경했다.
도커컴포드에서 환경변수는 2가지 방법으로 지정 할수 있다.
1 .env 파일 사용하기
프로젝트 디렉토리에 .env 파일을 생성하고 환경 변수를 정의한다.
#.env
DB_USER=namo
DB_PASSWORD=secret
#yml
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}
2 시스템 환경 변수 사용
쉘 설정에 파라미터를 등록 하고 위같이 동일하게 호출 가능하다.
#.bash_profile (사용하는 쉘에 따러서 다르게 적용)
export DB_USER=namo
export DB_PASSWORD=secret
#source ~/.bash_profile
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}