Nginx 프록시 컨테이너 추가+.env 파일 사용, 보안/유지성 개선

Atmosphere·2025년 7월 14일

docker

목록 보기
4/5

🎯 목표

프론트 요청을 Nginx → Node → Mongo로 전달하는 구조 완성
민감한 정보를 코드가 아닌 .env 파일에서 관리할 수 있다

🧩 실습 세부내용

  1. nginx 폴더 만들고, default.conf 생성:
server {
  listen 80;

  location / {
    proxy_pass http://backend:3000;
  }
}
  1. docker-compose.yml에 nginx 추가:
  nginx:
    image: nginx:stable
    ports:
      - "8080:80"
    volumes:
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - backend
  1. 전체 실행: docker-compose up --build

  2. 접속 확인: http://localhost:8080 → “Hello with Mongo!”
    근데 난 hello with mongo라고 안뜨더라..
    connected는 됬는데 db error로 undefined라고 나온다.

  3. .env 파일 생성:

MONGO_URL=mongodb://mongo:27017/test
  1. docker-compose.yml 수정:
  backend:
    ...
    env_file:
      - .env
  1. app.js 최상단에 dotenv 추가:
require('dotenv').config();

주의: dotenv 가 설치되어 있어야 오류없이 작동한다
없다면 npm install dotenv로 다운받기

  1. 다시 실행: docker-compose down && docker-compose up --build

여전히 컨테이너가 쉽지 않다..

조만간 중급자용 책을 살 예정이다.
컨테이너 개념을 잘 이해하면 다른 사람들에게도 쉽게 설명해줄 수 있을 것이다.

profile
작게, 빠르게, 지속가능하게

0개의 댓글