1 분 소요

✔Docker-compose

✅ Docker를 사용하는 이유

  • 개발 환경을 동일하게 구성하기 위함
  • 여러 개의 컨테이너 서비스를 한 번에 실행할 수 있는 환경을 만들기 위함
  • Docker는 기본적으로 리눅스 커널 위에서 돌아간다

Docker를 사용하는 이유는 개발을 할 때 누구나 동일한 환경 구성을 할 수 있다는 점이다.
사용자마다, 서버마다 환경이 다르기 때문에 도커를 활용하여 동일한 실행 환경 구성이 가능하다.

✔ docker-compose?

Docker Compose는 yaml 파일로 여러 개의 도커 컨테이너의 정의를 작성하여,
사용함으로써 한 번에 많은 컨테이너들을 작동 시키고 관리할 수 있는 하나의 툴이다

✅ compose?

  • yaml 포맷(확장자 .yml)으로 기술된 설정 파일 (스크립트 파일)
  • build(빌드) + run(실행)이 한번에 가능하다
Annotation Desc
version: 버전 지정
services: 서비스 정의
image: 이미지 지정
build: 도커 파일 위치
command: container에서 작동하는 명령
entrypoint: container에서 작동하는 명령
depends_on: 서비스간 의존 관계 설정
enviroment: 컨테이너 안 환경변수 설정
container_name: 컨테이너명
volumnes: 컨테이너 볼륨 마운트
volumnes_from: 다른 컨테이너로부터 모든 볼륨 마운트
links: 다른 컨테이너와 연결
ports: Host에 해당 컨테이너가 공개하는 포트 번호
expose: 컨테이너끼리 공개하는 포트 지정

✔ docker-compose 기본 명령어

✅ docker-compose up

$ docker-compose up [option] [service]

컨테이너를 생성 및 실행하는 명령어

Option Desc
-d: 백 그라운드 실행
–no-deps: 링크 서비스 실행 안함
–build: 이미지 빌드
-t: 타임아웃 지정(기본 10초)

✅ docker-compose run | start | stop

$ docker run IMAGE_ID
$ docker start CONTAINER_ID
$ docker stop CONTAINER_ID
  • run: 새로운 컨테이너를 이미지로부터 만든다
  • start stop: 기존에 실행 되었던 컨테이너를 중지 시키거나 실행시킴

✅ docker-compose ps

$ docker-compose ps
  • Docker Compose에 정의되어 있는 모든 서비스 컨테이너 목록을 조회할 때 사용

✅ docker-compose logs

$ docker-compose -f web
  • 서비스 컨테이너의 로그를 확인하고 싶을 때 사용하며, 보통 -f 옵션을 사용하여 실시간 확인

✅ 추천 문서

댓글남기기