04. 도커 컴포즈(Docker compose)
1. 도커 컴포즈란
docker compose는 다중 컨테이너 도커 어플리케이션을 정의하고 실행하기 위한 도구이다. 도커 컴포즈는 복잡한 설정을 쉽게 관리하기 위해 Yaml 파일에 정의한다.(docker-compose.yml)
2. docker-compose.yml
version: "3"
services:
redis-server:
image: "redis"
node-app:
build: .
port:
- "5000:8000"
- version: 도커 컴포즈의 버전
- services: 실행하려는 컨테이너들을 정의
- redis-server, node-app 등: 컨테이너 이름
- image: 컨테이너에서 사용하는 이미지
- build: 현 디렉토리에 있는 Dockerfile 사용
.
현 디렉토리라는 의미
- ports: 포트맵핑
- 로컬포트:컨테이너포트
3. 도커 컴포즈 명령어
docker-compose build
: 이미지를 빌드하기만 하며, 컨테이너를 시작하지는 않는다.docker-compose up
: 이미지가 존재하지 않을 경우에만 빌드하며, 컨테이너를 시작한다.docker-compose up --build
: 필요치 않을때도 강제로 이미지를 빌드하며, 컨테이너를 시작한다.docker-compose up --no-build
: 이미지 빌드없이, 컨테이너를 시작한다.- 이미지가 없을 시 실패
docker-compose up -d
: detached 모드로서 앱을 백그라운드에서 실행시킨다.- 앱에서 나오는 결과 표출❌