야믈 ~ 이름 귀엽다 야믈 ~


도커 컴포즈(docker-compose.yml) 파일을 보면 확장자가 YAML인 걸 알 수 있다.

 

YAML은 "YAML Ain't Markup Language" 의 약자로, 데이터를 직관적이고 쉽게 표현하기 위한 포맷이다. 

YML은 그냥 파일 확장자 이름일 뿐이고, 실제로는 YAML이라는 포맷을 의미한다.

 

📌 YAML의 특징

  1. 사람이 읽기 쉬운 형식
    • 다른 데이터 포맷(예: JSON, XML)보다 훨씬 가독성이 높고 간단하다.
  2. 계층적 구조
    • 데이터가 계층적(들여쓰기)으로 표현되어 구조적인 데이터를 직관적으로 다룰 수 있음.
  3. 공백과 들여쓰기 사용
    • 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이 많이 사용된다.
  • 데이터 구조 표현에 유리: 계층적인 구조나 리스트를 다룰 때 매우 유용하다.
 

+ Recent posts