본문 바로가기
Cloud/docker

[Docker] 리엑트를 활용한 docker-compose 사용법 예제

by 아크투어 2023. 5. 18.
반응형

docker-compose 사용

 

1.개요

  • docker Compose를 사용하려면 먼저 시스템에 Docker Compose를 설치해야 한다.
  • docker compose는 여러 개의 docker container를 모아서 관리하기 위한 툴이다.
  • docker-compose.yml은 장황한 도커 실행 옵션을 미리 기술하는 파일이다.
  • 프로젝트 루트 경로에 파일을 생성한다. Dockerfile 과 동일한 경로에 주로 사용한다.

docker compose
docker compose

 

2. docker compose 설치

  • docker가 설치되어 있다는 가정하에 docker-compose를 설치한다.
$ apt install docker-compose
$ docker-compose -v

 

3. 테스트를 위한 간단한 react앱 생성

  • 아래 명령어대로 실행한다.
$ npx create-react-app ./
$ npm run start
$ npm run build

 

4. Dockerfile.dev

  • 아래 명령어대로 작성한다. 
  • 파일명은 Dockerfile.dev
FROM node:alpine

WORKDIR /www/docker/arckwon

COPY package.json ./

RUN npm install

COPY ./ ./

CMD ["npm","run","start"]

 

5. docker-compose.yml

  • 아래 명령어대로 작성한다.
  • 파일명은 docker-compose.yml
  • version - 도커컴포즈버전
    services - 실행하려는 컨테이너
    build- 현 디렉토리에 있는 Dcokerfile 사용
    ports - 로컬포트:컨테이너포트
version: "1"
services:
  react:
    build:
      context: .
      dockerfile: Dockerfile.dev
    ports:
      - "3000:3000"
    volumes:
      - /www/docker/arckwon/node_modules
      - ./:/www/docker/arckwon
    stdin_open: true

 

실제로 docker-compose.yml을 사용하지 않는다면 아래와 같은 상당히 긴 명령어를 실행해야 한다.
docker run -it -p 3000:3000 -v /www/docker/arckwon/node_modules -v $(pwd):/www/docker/arckwon arckwonApp
※ volumes을 사용하는것을 실시간으로 재기동없이 프론트 정보를 갱신하는데 필요하다.

 

6. 실행명령

  • 주로 해당 명령어를 사용한다. 
  • docker-compose up -d 
docker-compose up [옵션] [서비스명]
옵션 설명
-d 백그라운드 실행
--no-deps 링크 서비스 실행하지 않음
--build 이미지 빌드
-t 타임아웃을 지정(기본 10초)

 

7.기타 명령어

# 도커 컴포즈 실행
docker-compose up -d 

# 도커 컴포즈 서비스 상태 
docker-compose ps

# 도커 컴포즈 로그
docker-compose logs

# 서비스 시작
$ docker-compose start

# 서비스 중지
docker-compose stop

# 서비스 재시작
docker-compose restart

# 서비스 삭제
docker-compose down

 

8. 실행화면

  • 아래와 같이 실행됨을 확인할수 있다.

docker-compose up
docker-compose up

 

※. Docker설치

https://arckwon.tistory.com/entry/Docker-Ubuntu%EC%97%90-Docker-%EC%84%A4%EC%B9%98%EB%B0%8F-%EC%8B%A4%ED%96%89

 

[Docker] Ubuntu에 Docker 설치및 실행

1. 개요 Docker는 컨테이너화된 애플리케이션을 배포, 관리하기 위한 오픈소스 플랫폼이다. Docker 이미지는 빌드 과정을 통해 만들어지며, 이를 기반으로 여러 개의 컨테이너를 생성할 수 있습니다

arckwon.tistory.com

 

반응형