# docker-compose.yml
version: "3.8"
services:
mongodb:
image: "mongo"
volumes:
- data:/data/db
# environment:
env_file:
- ./env/mongo.env
# networks:
# - networkName
backend:
build: ./backend
restart: always
ports:
- "80:80"
volumes:
- logs:/app/logs
- ./backend:/app
env_file:
- ./env/backend.env
depends_on:
- mongodb
frontend:
build: ./frontend
ports:
- "3000:3000"
volumes:
- ./frontend/src:/app/src
stdin_open: true
tty: true
depends_on:
- backend
volumes:
data:
logs:
build:
context:./app
dockerfile:Dockerfile
# context : 도커 파일이 있는 경로
# dockerfile : 도커 파일 이름
image : db처럼 직접 개발이 아닌 외부 소스를 활용할때 사용한다.
ports : 외부로 노출시킬 포트의 맵핑을 지정한다.
depends_on : 서비스 간의 의존관계를 지정한다.
백엔드 컨테이너가 올라오려면 먼저 DB컨테이너를 올려야 하므로, 백엔드 컨테이너에서 depends_on : DB
이런 식으로 의존관계를 지정해준다.
env_file : .env 파일을 사용할 경로 지정