#0. 도커 사용하기_3(Docker-compose)

toto9602·2021년 11월 21일
0

RN + DRF 프로젝트

목록 보기
3/5

Docker-compose
=> 여러 개의 컨테이너로 구성된 애플리케이션을 정의 & 실행해 주어
애플리케이션의 관리를 도와주는 기능!!

대개 Docker를 설치할 때 Docker-compose가 함께 설치되는 경우가 많으며

docker-compose --version

명령어로 버전 확인이 가능하다!



Docker-compose.yml
version: "3.8"

services:
  frontend:
    build: 
      context: ./frontend
      dockerfile: Dockerfile #해당 부분의 Dockerfile로 이미지 build
    ports:
      - "19000:19000" #컨테이너에 노출된 포트와 호스트 컴퓨터의 포트를 연결
      - "19001:19001"
      - "19002:19002"
    volumes: #변경사항을 docker image에 실시간 반영하게 해 준다?
      - ./frontend/:/frontend
      - ./frontend/node_modules:/frontend/node_modules
    command: > # 셀에서 커멘드 실행
      sh -c "expo start -c"  
    environment: #환경 변수 지정
      - EXPO_DEVTOOLS_LISTEN_ADDRESS= 0.0.0.0
      - REACT_NATIVE_PACKAGER_HOSTNAME=192.168.0.1
      - EXPO_DEBUG=true
    stdin_open: true #docker run -i
    tty: true #셀 실행이 끝나도 컨테이너가 죽지 않게끔. docker run -t
  
  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    tty: true
    volumes:
      - ./backend:/backend
      - ./backend/account:/backend/account
      - ./backend/challenges:/backend/challenges
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"
    environment:
      - DB_HOST=db
      - DB_NAME=Dustar
      - DB_USER=postgres
      - DB_PASS=
    depends_on:
      - db

  db:
    image: postgres:9.6.24
    environment:
      - POSTGRES_DB=Dustar
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=

사실 아직 해결 못한 에러도 남아있고..
(expo devtools 페이지가 정상적으로 열리지 않는 문제라던가..)
Docker 사용하기 1,2,3을 작성하면서, 도커에 관한 내용을 정리하여 글로 옮기기에는 아직 아는 게 너무 없는 상태라는 걸 여실히 깨달았다...^^

앞으로 프로젝트를 진행하면서, 조금 더 익숙해진다면
Docker에 대해 다시 한 번 정리해 봐야 할 것 같다!!

profile
주니어 백엔드 개발자입니다! 조용한 시간에 읽고 쓰는 것을 좋아합니다 :)

0개의 댓글