Docker 공식문서 중 Get Started Part 1: Getting Started의 영상을 보고 정리한 글입니다.
! 여러 개의 컨테이너를 하나하나 실행하는 것은 번거로운 일입니다.
=> Docker-compose
는 여러 개의 파일들을 하나로 묶어 줌!
version:'2'
services:
web:
build:
context:
dockerfile: Dockerfile
container_name: web
ports:
- "8080:80"
docker-compose up -d
docker images
이미지를 조회하면, Docker는
해당 디렉토리 이름_service이름
으로 이미지를 build합니다.
ex) 디렉토리명이 docker-hello-world라면,
docker-hello-world_web
중단하기
docker-compose down
=> 컨테이너를 멈추고, 삭제해 줍니다.
version:'2'
services:
web:
build:
context:
dockerfile: Dockerfile
container_name: web
ports:
- "8080:80"
db:
image: mongo:3.6.1 #특정 태그 부여하기
container_name: db
volumes:
- mongodb:/data/db
- mongodb_config:/data/configdb
ports:
- 27017:27017
command:mongod
volumes:
mongodb:
mongodb_config:
volumes : persistent storage를 위한 것
volumes :
- mongodb: /data/db
- mongodb_config:/data/configdb
mongoDB가 전체 파일을 보관하는 data/db
디렉토리와, 로컬의 mongodb를 매핑합니다.
volumes:
mongodb:
mongodb_config:
docker-compose up -d
로 실행하고,
docker ps
로 확인하면
=> web
, db
두 서비스 모두 확인 가능!!