야믈 ~ 이름 귀엽다 야믈 ~
도커 컴포즈(docker-compose.yml) 파일을 보면 확장자가 YAML인 걸 알 수 있다.
YAML은 "YAML Ain't Markup Language" 의 약자로, 데이터를 직관적이고 쉽게 표현하기 위한 포맷이다.
YML은 그냥 파일 확장자 이름일 뿐이고, 실제로는 YAML이라는 포맷을 의미한다.
📌 YAML의 특징
- 사람이 읽기 쉬운 형식
- 다른 데이터 포맷(예: JSON, XML)보다 훨씬 가독성이 높고 간단하다.
- 계층적 구조
- 데이터가 계층적(들여쓰기)으로 표현되어 구조적인 데이터를 직관적으로 다룰 수 있음.
- 공백과 들여쓰기 사용
- YAML은 공백과 들여쓰기로 데이터의 계층을 구분.
- 들여쓰기는 스페이스로만 해야 하며, 탭은 사용하지 않음.
📌 기본 문법
1. 키:값 쌍 (key-value pairs)
name: John
age: 30
- name과 age는 키, John과 30은 값이다.
2. 리스트 (List)
fruits:
- Apple
- Banana
- Orange
- fruits는 리스트로, -을 사용해 항목들을 나열한다.
3. 객체 (Object)
person:
name: John
age: 30
address: "New York"
- person은 객체로, 그 안에 name, age, address 키와 그 값들이 포함된다.
4. 주석 (Comments)
# 이것은 주석입니다.
name: John # 인라인 주석
- #으로 시작하는 라인은 주석이다. YAML에서 주석은 코드에 영향을 미치지 않는다.
📌 YAML 사용 예시
도커 컴포즈 (docker-compose.yml) 예시
version: '3'
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
build: .
environment:
- DEBUG=1
depends_on:
- web
- services 아래에 여러 서비스(여기선 web과 app)를 정의할 수 있다.
- 각 서비스는 어떤 이미지나 설정을 사용할지 지정한다.
📌 YAML을 사용하는 이유
- 간결하고 가독성 높음: 사람과 컴퓨터 모두 읽고 쓰기 쉽다.
- 설정 파일에서 자주 사용됨: docker-compose.yml, Kubernetes 설정 파일, CI/CD 설정 파일 등에서 YAML이 많이 사용된다.
- 데이터 구조 표현에 유리: 계층적인 구조나 리스트를 다룰 때 매우 유용하다.
'TIL(Today I Learned)' 카테고리의 다른 글
TIL 157일 차 (웹소켓) (0) | 2025.03.26 |
---|---|
TIL 156일 차 (Docker: image) (0) | 2025.03.25 |
TIL 154일 차 (Dockerfile 예제(2)) (0) | 2025.03.23 |
TIL 153일 차 (Dockerfile 예제(1)) (0) | 2025.03.22 |
TIL 152일 차 (Docker: 컨테이너를 사용하면 로컬에 PostgreSQL을 설치할 필요가 없다!) (0) | 2025.03.21 |