Docker compose?
다수의 Container로 소프트웨어가 구성되는 경우 쉽게 관리하기 위해 사용하는 환경설정 파일이자 유틸리티(툴)
- 환경설정 파일 이름 docker-compose.yml (or docker-compose.yaml)로 설정
- -f 옵션을 줘서 파일의 이름 변경하여 다양한 버전으로 관리 가능
- 볼륨, 네트워크 포트 세팅, 실행명령 등등 서비스 구성 내용들이 포함
- 개별 Container말고 application내의 모든 Container에 적용 가능
docker compose 명령어
- container 명령어와 비슷하지만 개별이 아닌 그룹에 적용된다
$ docker compose build
개별 컨테이너 명령어 docker run과 같음
$ docker compose up # build → create → start
- docker compose create
- docker compose start
$ docker compose pull
$ docker compose ps
컨테이너 중지 및 삭제, 이미지는 따로 삭제 필요
$ docker compose down
- docker compose stop
- docker copose rm
$ docker compose start
$ docker compose stop
$ docker compose rm
$ docker compose --version
or docker-compose --version 예전 버전일 경우!
v1. docker-compose
v2. docker compose
docker-compose.yml 포맷
크게 세개의 키(services, volumes, networks)가 있음
- services
- container들 기술
- 여기서 지정한 이름이 호스트 이름
- volumes
- volume들 정의
- 사용하지 않는 경우 일회성, persistence한 스토리지 없음
- networks
- container들간 네트워크 정의
- 사용하지 않는 경우 기본 네트워크 사용
- 네트워크 여러개로 두는 경우 사용 (back, front)
-f 옵션으로 이름을 바꿔서 버전 관리
docker compose -f docker compose.mac.yml up
mac에 해당하는 위치에 prod, dev, test 같이 사용하여 개발, 테스트, 프로덕션용인지 구분
다중 컨테이너 앱 빌드(MySQL, Docker Compose)
MySQL 및 Docker Compose를 사용하여 다중 컨테이너 애플리케이션을 만들고 컨테이너를 사용하여 Visual Studio에서 프로젝트 크기를 조정합니다.
learn.microsoft.com
'데브코스 데이터엔지니어링' 카테고리의 다른 글
Hangman 웹서비스 Docker로 구동해보기 (1) | 2024.11.21 |
---|---|
Docker Network voting application 예제 프로그램 (2) compose 사용 (0) | 2024.11.19 |
.dockerignore (0) | 2024.11.19 |
Docker Volume mount 마운트 (0) | 2024.11.19 |
Docker Network voting application 예제 프로그램(1) (0) | 2024.11.19 |