[Docker Compose 기본] 1. docker compose 작성을 위한 .yml 포맷 이해하기
반갑습니다!
이번 포스트부터는 docker compose에 대한 내용을 알아보겠는데요
Docker Compose는 여러 컨테이너를 모아서 관리하기 위한 툴입니다 ^^
앞으로 실습을 통해서 Docker Compose로 웹 서비스의 서버를 구축해볼건데요
웹 서비스는 프론트엔드 서버, 데이터베이스 서버,
백엔드 서버로 이루어져 있는 경우가 대다수입니다 ^^
더 나아가 서비스 규모가 커지면 복수의 컨테이너를 유지하고 관리해야 하며,
이를 위해서 쿠버네티스 등의 관리 툴이 사용됩니다 ^^
우선은 Docker와 Docker Compose를 잘 다룰 수 있다면 기본적인 서비스 구현이 가능하고,
Docker와 Docker Compose에 대한 기본적인 이해가 바탕이 되어야
쿠버네티스도 원활하게 익히고 활용을 할 수 있기 때문에
중요한 내용이라 말씀드릴 수 있겠습니다 ^^
docker compose를 이용할 때에도 이미지 빌드 때 dockerfile을 작성했던 것과 마찬가지로
docker-compose용 파일을 작성을 하는데, yaml 형식의 파일로 작성을 합니다
이 파일에서 특정 설정을 지정하고 이 파일을 바탕으로 docker compose 명령을 실행하면
여러 컨테이너가 한꺼번에 실행이 되고, 내부 네트워킹도 가능합니다
또한 이 여러 컨테이너들을 내리거나 새 이미지를 재빌드하거나 할 수도 있습니다 ^^
여기서 docker compose는 특정 포맷을 이용하는데요
IT쪽에서 데이터를 구조화하는 다양한 문법들이 있습니다
대표적인 포맷들에는 JSON, XML, CSV 등이 있는데요 YML도 포함됩니다 ^^
먼저 YAML 포맷의 기본 문법에 대해서 간략하게 정리를 해보겠습니다 !
JSON 포맷과 비슷하기 때문에 해당 파일 형식과 비교하며 예를 들어보겠습니다
예시를 위한 JSON 포맷 샘플 파일입니다 ^^
위 JSON 포맷 파일의 동일한 내용을 YAML 포맷으로 변환해보겠습니다
예시를 위한 YAML 포맷 샘플 파일입니다 ^^
참고로
JSON은 줄바꿈을 \n으로 표기합니다
YAML은 줄바꿈을 | 또는 >을 이용하는데요 ^^
|을 이용하면 마지막 줄바꿈까지 포함하고,
>을 이용하면 마지막 줄바꿈은 제외하고 중간의 줄바꿈만 적용됩니다!
아래 링크는 YAML 포맷을 JSON으로 변환해주는 사이트입니다 ^^