docker-compose.yml의 개요
Docker Compose는 'docker-compose.yml'이라는 Compose 정의 파일에 시스템 안에서 가동하는 여러 서버들의 구성을 모아서 정의합니다.
이 정의 파일은 YAML 형식으로 기술합니다.
YAML
YAML은 구조화된 데이터를 표현하기 위한 데이터 포맷으로 Python과 동일하게 들여쓰기로 데이터의 계층 구조를 나타냄. 들여쓰기는 탭이 아니라 스페이스를 사용함. 읽기가 쉬워 설정 파일 등에 많이 이용됨
YAML에서는 데이터의 맨 앞에 '-'를 붙이면 배열을 나타냄. '-'
Compose 정의 파일에는 여러 컨테이너의 설정 내용을 모아서 하나의 파일에 기술합니다. 이 Compose 정의 파일에는 관리하고 싶은 컨테이너의 서비스(services:), 네트워크(networks:), 볼륨(volumes:)을 정의합니다.
또한 Compose 정의 파일은 버전에 따라 기술할 수 있는 항목이 다릅니다.
Compose 정의 파일과 버전 | Docker Engine의 버전 |
---|---|
3.3 | 17.06.0 |
3.2 | 17.04.0 |
3.1 | 1.13.1 |
3.0 | 1.13.0 |
2.3 | 17.06.0 |
2.1 | 1.12.0 |
2.0 | 1.10.0 |
1.0 | 1.9.1 |
다음 예시는 webserver라는 서비스와 redis라는 이름의 서비스를 만들고 들여쓰기를 하여 각각의 컨테이너 상세 정보를 설정합니다.
'#' 문자 이후에는 주석을 나타내므로 알기 쉬운 설명을 넣어둘 것을 권장합니다.
docker-compose.yml 파일의 예시
#서비스 정의
services:
webserver:
image: ubuntu
ports:
- "80:80"
networks:
- webnet
redis:
image: redis
networks:
-webnet
# 네트워크 정의
networks:
webnet:
# 데이터 볼륨 정의
volumes:
data-volume:
docker-compose.yml 파일에 대하여 알아보았습니다.
다음 도서를 참고하여 작성하였습니다.
www.aladin.co.kr/shop/wproduct.aspx?ItemId=166082298
'About > Docker' 카테고리의 다른 글
[Docker] Docker Compose links(컨테이너 간 연결) (0) | 2021.09.27 |
---|---|
[Docker] Docker Compose build (0) | 2021.09.05 |
[Docker] Docker Compose를 이용한 웹 애플리케이션 생성 (0) | 2021.09.05 |
웹 3계층 시스템 아키텍쳐 (0) | 2021.07.25 |
[Docker] Docker Registry를 사용한 프라이빗 레지스트리 구축(이미지 업로드 및 다운로드) (0) | 2021.06.01 |