카테고리 없음

[Docker] docker compose

Jackerson 2022. 4. 19. 08:46

- docker run 명령어는 매우 길어질 수 있으며, 매번 실행 할 때 마다 명령어를 입력하는데 한계가 있다.

   이를 자동화 하기 위한 수단이 docker compose 이다.

 

* docker-compose.yml 파일 작성

# 도커 컴포즈의 버전
version: "3"
# 이곳에 실행하려는 컨테이너들을 정의
services:
    # 컨테이너 이름
    react:
        # 현 디렉토리에 있는 Dockerfile 사용
        build:
            # 도커 이미지를 구성하기 위한 파일과 폴더들이 있는 위치
            context: .
            # 도커 파일 지정
            dockerfile: Dockerfile.dev
        # 포트 맵핑 로컬포트:컨테이너포트
        ports:
        	- "3000:3000"
        # 로컬머신에 있는 파일들 맵핑
        volumes:
            - /usr/src/app/node_modules
            - ./:/usr/src/app
        # 리액트 앱을 끌때 필요
        stdin_open: true
    tests:
        build:
        context: .
        dockerfile: Dockerfile.dev
        volumes:
            - /usr/src/app/node_modules
            - ./:/usr/src/app
        command: ["npm","run","test"]
version: "3"
services:
  react:
    build: 
      context: .
      dockerfile: Dockerfile.dev
    ports:
      - "3000:3000"
    volumes:
      - /usr/src/app/node_modules
      - ./:/usr/src/app
    stdin_open: true

* Docker compose 실행

> docker-compose up

* Docker Compose 빌드

> Docker-compose up --build