Docker Compose
한 번에 여러 개의 container를 통합 관리 및 운용하기 위한 도구
멀티 컨테이너의 동시 운용 시 컨테이너별 별도의 설정들을 간편하게 작업 가능
▷ 도커 컴포즈의 기본적인 3가지 절차
- Dockerfile 정의 : 앱 환경 설정
- 애플리케이션에서 필요한 환경을 Dockerfile에 정의함
- docker-compose.yml 설정 : 앱과 같이 수행될 서비스 설정
- 앱에서 필요한 각 서비스들을 dockerp-compose.yml에 정의함
- 이 파일을 이용해서 각 서비스들이 독립된 환경에서 함께 실행될 수 있음
- docker-compose up을 통한 전체 앱 실행
- docker-compose up을 하면 Compose가 알아서 전체 앱에 필요한 서비스들을 실행함
▷ Docker Compose 활용
- 단일 호스트상, 다수의 독립 환경 운용
- 컨테이너 볼륨의 보존
- 변경된 컨테이너의 재생성
- Variables and moving a composition between environments
▷ Docker Compose 명령은 여러 개의 컨테이너 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성함
▷ Docker Compose의 설정 파일(docker-compose.yml)은 run 명령어 옵션을 그대로 사용할 수 있으며
각 컨테이너의 의존성, 네트워크, 볼륨, 컨테이너 수 등을 유동적으로 조절할 수 있음
ex) 파이썬 프로그램이 구동되는 컨테이너와 데이터를 저장하는 redis 서버, 웹서버 컨테이너를 실행한다고 할 때,
각각의 run 명령어 및 다양한 옵션으로 컨테이너를 생성하고 테스트하기에는 매우 번거로움
→ Docker Compose를 활용하면 편리함
▷ docker-compose.yml 파일 구조
version:"3"
services:
web:
build:,
volumes:
-web-data:/var/www/data
redis:
image: redis:alpine
parts:
-"6379"
networks:
-default
[ docker-compose.yml 예시 파일]
: docker-compose.yml 파일에는 image나 build 지시자가 반드시 있어야 함
image
- 사용할 이미지의 태그나 ID를 명시함
- 로컬에 그 이미지가 없으면 원격저장소에서 pull해서 가져옴
build
- Dockerfile이 있는 디렉토리의 경로
- compose가 이 경로에 있는 Dockerfile을 빌드해서 사용함
dockerfile
- 기본 Dockerfile이 아니라 여기에 지정된 파일명을 Dockerfile로 인식해서 빌드해서 사용함
'Dev etc > etc' 카테고리의 다른 글
[OCR] Tesseract OCR 설치 및 사용방법 (0) | 2024.01.05 |
---|---|
[C++] 콘솔환경에서 글자색,배경색 색상 변경 (0) | 2023.09.21 |
[Docker] 도커 이미지(Image)와 컨테이너 (0) | 2023.06.19 |
[Docker] 도커(docker) 서비스 환경 (0) | 2023.06.16 |
[Server] API와 SPI의 차이점 (0) | 2022.11.19 |
댓글