Docker Compose
- 소프트웨어가 다수의 Container로 구성되는 경우 사용할 수 있는 툴 + 환경설정파일
- docker-compose.yml 파일로 설정
- 다양한 테스트 수행 가능
- 다양한 버전을 만드는 것이 일반적 (dev, test, prod 등...) - 개별 Container를 따로 관리하는 것보다 생산성이 더 높음
- 파일의 이름은 docker-compose.yml or docker-compose.yaml
- Compose 사용법 자체는 간단하지만 적용 시, 배워야 할 것이 많고 구성이 복잡해짐
- 다양한 명령어
- docker-compose build
- docker-compose up : build, create, start를 한 번에 하는 명령어
- docker-compose pull : docker hub에서 이미지 읽어오기
- docker-compose ps
- docker-compose down : 작동을 멈추고 Container 삭제까지 진행
- docker-compose start
- docker-compose stop
- docker-compose rm
- docker-compose images : 컨테이어네 의해 실행되고 있는 이미지들만 보여줌
docker-compose.yml (yaml) 작성
- services : 프로그램을 구성하는 서비스들을 지정
- 각각의 서비스는 별개의 Docker Image를 지정하고 Docker Container 실행으로 구성
- 즉, 서비스는 자신만의 Dockerfile을 갖고 있어야하고 갖고 있지 않다면 docker hub 등에서 Image다운
- 서비스 별로 포트번호, 환경변수, 디스트 볼륨 등을 지정해야함
- 서비스 이름은 아무거나 지정 가능 - volume : docker volume을 지정
- network : network를 지정
- network 미지정 시 같은 docker-compose 그룹 내에서는 모두 연결
- "default"라는 이름으로 기본 network 생성 - .yml or .yaml이 아닌 다른 이름의 파일을 사용하고자 하면 -f 옵션을 사용
- docker-compose.yml 예제
더보기
services:
frontend:
build: ./frontend
ports:
- 3000:3000
backend:
build: ./backend
port:s:
- 3001:3001
enviroment:
DB_URL: mongodb://database/vidly
database:
image: mongo:4.0-xenial
ports:
- 27017:27017
volumes:
- vidly: /data/db
volumes:
vidly
728x90
'ssung_데이터 엔지니어링 > 10주차_Docker' 카테고리의 다른 글
Docker_(5) (0) | 2023.12.22 |
---|---|
Docker_(3) (0) | 2023.12.20 |
Docker_(2) with CI/CD (0) | 2023.12.19 |
Docker_(1) feat. vi (or vim) (0) | 2023.12.18 |