Docker compose 작성 요령

JinUk Lee·2024년 8월 28일
0

Docker

목록 보기
3/10

# 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:
  • version : 도커 컴포즈의 버전을 지정한다.
  • services : 컨테이너들을 제공할 서비스를 정의한다.
  • build : 해당 이미지를 빌드하기 위한 dockerfile 경로를 적는다.
    만약, 경로에 이미지 파일이 여러개라면 아래와 같이 이미지를 지정할 수 있다.
build:
	context:./app
    dockerfile:Dockerfile
    # context : 도커 파일이 있는 경로
	# dockerfile : 도커 파일 이름
  • image : db처럼 직접 개발이 아닌 외부 소스를 활용할때 사용한다.

  • ports : 외부로 노출시킬 포트의 맵핑을 지정한다.

  • depends_on : 서비스 간의 의존관계를 지정한다.
    백엔드 컨테이너가 올라오려면 먼저 DB컨테이너를 올려야 하므로, 백엔드 컨테이너에서 depends_on : DB 이런 식으로 의존관계를 지정해준다.

  • env_file : .env 파일을 사용할 경로 지정

profile
개발자 지망생

0개의 댓글