반응형
docker-compose 사용
1.개요
- docker Compose를 사용하려면 먼저 시스템에 Docker Compose를 설치해야 한다.
- docker compose는 여러 개의 docker container를 모아서 관리하기 위한 툴이다.
- docker-compose.yml은 장황한 도커 실행 옵션을 미리 기술하는 파일이다.
- 프로젝트 루트 경로에 파일을 생성한다. Dockerfile 과 동일한 경로에 주로 사용한다.
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설치
반응형
'Cloud > docker' 카테고리의 다른 글
[Docker] docker로 node.js 배포개념잡기 듀토리얼 (0) | 2023.04.28 |
---|---|
[Docker] Dockerfile 이미지 생성/빌드/컨테이너 실행예제 (0) | 2023.04.26 |
[Docker] Ubuntu에 Docker 설치및 실행 (0) | 2023.04.25 |