Node.js + Express를 이용한 RESTful API 예제(9) - docker-compose 작성

minhye kim·2024년 5월 29일

nodejs

목록 보기
9/10

Docker 파일로 설정할 경우, 외부에서 프로젝트로 변수 전달이 안되기 때문에 docker-compose를 작성하여 외부에서 환경 설정값인 key-value를 설정하여 프로젝트에 반영되도록 하겠습니다.

docker-compose.yaml 작성

services:
  app:
    build:
      context: .
      dockerfile: ./Dockerfile
      target: prod
    environment:
      NODE_ENV: production
    ports:
      - 3004:3002
    restart: "unless-stopped"

실행

 //prod
 docker-compose up -d

스크립트의 타겟과 환경변수를 dev로 변경하면 dev로 실행이 가능합니다.
Docker를 사용하면 실제 프로젝트의 변수값을 대입하기가 어렵지만, docker-compose의 environment를 사용하면 프로젝트의 env값 변경이 가능하여 편리합니다. docker-compose는 한번에 여러 앱을 실행할때 한번에 처리하기 위해 사용하는 용도로도 충분히 훌륭하지만 environment값을 외부에서 주입이 가능하기에 app이 하나여도 사용하는 가치가 있다 생각되었습니다.


Reference
https://docs.docker.com/compose/compose-file/build/
https://gyuuuu.github.io/devlog/pm2/
https://medium.com/sjk5766/docker-compose%EB%A1%9C-node-express-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-7c9ab4544172
https://jojoldu.tistory.com/587

profile
안녕하세요. 블로그를 시작하게 되었습니다! 앞으로 유용한 정보와 좋은 내용을 많이 공유할게요:)

0개의 댓글