devOps/docker
docker-compose 시 env 파일 처리 및 dockerignore 방법
글을 쓰는 개발자
2021. 7. 21. 17:36
반응형
1. 과정
필자는 docker-compose시 웹 애플리케이션에 env파일이 들어가는 것을 원치 않아서 어떻게 해결해야 할 지 고민이 많았다.
처음에 웹 애플리케이션에 해당하는 dockerfile 자체에서 .dockerignore 파일을 설정하여 처리하려고 하였지만 ignore가 되지 않았다.
2. 해결방안
그래서 해당 '.env'파일을 최상단으로 빼놓고 'docker-compose.yml' 와 동일한 위치에 두었다.
그 결과 웹 애플리케이션에서 '.env'파일을 무시하는데 성공하였다.
-backend
-entry
Dockerfile
uwsgi.ini
-config
-.env
-nginx
Dockerfile
nginx.conf
nginx-app.conf
uwsgi_params
docker-compose.yml
.dockerignore
web:
build: ./backend
container_name: main.django
command: uwsgi uwsgi.ini
env_file:
- ./config/.env
volumes:
- ./backend/entry:/srv/code/entry
- ./log:/var/log
depends_on:
- db
ports:
- "8000:8000"
"env_file" 에 해당 ".env"파일 위치를 선정해주면 해당 환경변수 값을 가져온다.
확인하는 방법은
docker-compose config반응형