Container/Docker Compose

yml / yaml 기초 및 작성법

2mukee 2021. 9. 19. 17:40
320x100
320x100

yml / yaml

: Yami Ain't Markup Language (YAML은 마크업 언어가 아니다)

: Yet Another Markup Language 

: 마크업이 아니라 데이터가 중심이라는 의미의 포맷

: 인간이 보기에 매우 이해하기 쉬운 형태로 이루어짐

 

 

 

yaml의 사용

: 쿠버네티스 

: 도커 컴포즈

: 그외 yml을 지원하는 플랫폼

 

 

 

Properties vs yaml

ㆍProperties

example.jdbc.url=127.0.0.1 
example.jdbc.port=3306 
example.jdbc.user=user 
example.jdbc.password=password

ㆍyaml

example:
  jdbc:
    url: 127.0.0.1 
    port: 3306 
    user: user 
    password: password

 

 

 

Yaml과 다른 포맷의 비교

: yaml의 경우 세팅에 필요한 스펙과 프로퍼티 값이 한 눈에 들어옴

: 다른 양식에 비해 파일 작성이 간편함

: map 뿐만 아니라 list 형태의 값 입력 가능

: text의 경우 자유롭게 데이터 삽입 가능

 

 

 

Yaml의 특징

: Key-Value 형태

: Json과 상위호환 되어 Json 시퀀스와 맵 사용 가능

 

ㆍ자료형

: 스칼라 (Scalar) = String 혹은 숫자

: 시퀀스 (Sequence) = 배열 혹은 리스트

: 매핑 (Mapping) = Hash 혹은 Dictionary, key-value 쌍

 

ㆍ문법

: block sequence는 각각의 엔트리마다 dash + space로 구성 (-과 공백)

: Key-Value의 매핑은 : 으로 구분

: 문서의 시작 = ... / 문서의 끝 = '' <선택사항>

: tab이 아닌 space bar 공백 하나로 들여쓰기

: key와 value 사이에 공백이 존재해야함

: 주석은 # 으로 구분

: 중복되는 노드의 시작 & / 끝 *

: ? + 공백 = 조건이 포함된 매핑키 선언

 

# 주석
hr: # 1998 hr ranking
 - Mark McGwire
 - Sammy Sosa

rbi: 
  # 1998 rbi ranking
  - Sammy Sosa
  - Ken Griffey
  
ktt:
 # SS라는 라벨을 붙혀 중복되는 노드임을 선언
 - &SS killing_verse
 - Musinsa
 
nos:
 # &SS로 표시한 중복 노드의 끝
 - *SS Black_nut
 - 69cm
 
# between sequence
? - MU
  - TOT
:
  - 2021-09-19
  
 ? [Bar, PS]
 : [2021-09-18, 2019-09-16, 2018-03-04]

 

 

 

 

 

 

 

 

 

Refference

 

 

Yaml, Yml 이란?

트렌드 변화 최근 들어서 Yaml, Yml이라는 포맷이 자주 활용되는 것을 보고 있으면, 개발의 트렌드가 빠르게 변화하는 것을 알 수 있다. 물론 이 트렌드는 개발자의 트렌드하고도 맞닿아 있다. 최

needjarvis.tistory.com

 

 

yaml 파일 작성 요령 (기초편, 스프링편)

파이프라인을 설계 할 때, 크론잡을 만들 때, Dockerfile을 작성하거나 Kubernetes를 구성할 때, 우리가 필수로 마주하는 요소가 있다. 바로 yaml/yml 파일이다. 회사에 입사한지 일주일만에 큰 언론사의

velog.io

 

YAML - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Human-readable data serialization format YAML (see § History and name) is a human-readable data-serialization language. It is commonly used for configuration files and in application

en.wikipedia.org

 

300x250
728x90