[Docker] docker-compose 세팅 예시

이상협·2022년 11월 1일
0

Docker

목록 보기
6/6

나중에 다시 세팅하거나 새로 프로젝트를 진행할 때 편하게 하기 위해서 적어 놓는다.

docker-compose.yml

version: '3'
services:
  nginx:
    container_name: nginx-proxy
    build: ./nginx                # nignx 폴더의 Dockerfile을 빌드
    restart: always
    image: nginx
    ports:
      - 80:80
    extra_hosts:
    # nginx 에서 localhost를 사용하게 되면 그대로 도커내의 ip를 사용하기 때문에
    # 서버ip를 도커 내부로 보내서 사용할 수 있게 해준다.
      - "host.docker.internal:host-gateway" 
    # volumes:
    depends_on:
      - backend
  
  backend:
    container_name: backend
    build: ./nodejs
    restart: always
    ports:
      - 4500:4500
    environment:
      PORT: 4500
      MONGODB_URI: mongodb://mongo_db:27017
      DB_NAME: caad
    depends_on:
      - mongo_db
    volumes:
      - ./nodejs/:/usr/src/app/

  mongo_db:
    container_name: db_container
    image: mongo:latest
    restart: always
    volumes:
    # 데이터베이스를 매핑
      - ./mongo_db:/data/db
    
volumes:
  mongo_db: {}

커맨드

  • docker-compose up --build -d

  • docker image prune -a 도커 이미지가 쌓인 경우 사용하지 않는 이미지 삭제

  • docker-compose logs <container name> 컨테이너 이름을 넣지 않으면 전체 로그가 출력되고, 넣게되면 해당 컨테이너의 로그를 출력시킴

  • docker-compose exec <container name> <command> 해당 컨테이너 도커 내부에서 커맨드를 실행 시켜줌


참고

0개의 댓글