[Docker] Docker Compose 적용기
✔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
옵션을 사용하여 실시간 확인
댓글남기기