Part 10. docker-compose.yml 구조 이해하기
Docker Compose를 사용하려면 docker-compose.yml 파일 구조를 먼저 이해해야 한다. 이번 글에서는 YAML 문법, 들여쓰기 규칙, services, image, build, command, ports 개념을 초보자도 이해할 수 있도록 설명한다.
Part 10. docker-compose.yml 구조 이해하기
1. Docker Compose를 배우기 전에
Docker Compose는 docker-compose.yml 파일을 읽어서 컨테이너를 생성한다.
따라서 Compose를 사용하려면 먼저 docker-compose.yml 파일 구조를 이해해야 한다.
2. yml 파일이란?
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
yml 또는 yaml은 설정 파일 형식이다.
사람이 읽기 쉽도록 만들어졌다.
예를 들어 다음과 같은 형태를 가진다.
name: zeno
age: 30
콜론(:) 왼쪽은 이름이고 오른쪽은 값이다.
3. YAML에서 가장 중요한 규칙
들여쓰기다.
YAML은 들여쓰기로 구조를 구분한다.
예시
services:
app:
image: ubuntu
여기서 app은 services 안에 포함된다.
image는 app 안에 포함된다.
4. 왜 중괄호를 안 쓸까?
JSON은 보통 이렇게 작성한다.
{
"name": "zeno"
}
YAML은 더 간단하게 작성한다.
name: zeno
그래서 설정 파일에서 많이 사용된다.
5. Compose의 기본 구조
services:
app:
image: ubuntu
Compose는 대부분 services부터 시작한다.
6. services란?
services는 실행할 컨테이너 목록이다.
services:
app:
db:
redis:
의미
app 컨테이너
db 컨테이너
redis 컨테이너
를 실행한다는 뜻이다.
7. image란?
image: ubuntu
사용할 Docker 이미지를 의미한다.
Docker Hub에서 이미 존재하는 이미지를 가져온다.
8. build란?
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
김보성의 차고 : 장기렌트카/리스 비교 플랫폼
신차 장기렌터카/리스 알아볼 때 필수 앱 김보성의 차고
build: .
현재 폴더의 Dockerfile을 사용해서 이미지를 생성한다.
image와 build는 많이 헷갈린다.
차이는 다음과 같다.
image
↓
이미 만들어진 이미지 사용
build
↓
Dockerfile로 직접 이미지 생성
9. command란?
command: echo "Hello Compose"
컨테이너 실행 시 실행할 명령어다.
10. ports란?
ports:
- "8080:80"
의미
내 PC의 8080 포트
↓
컨테이너의 80 포트
를 연결한다.
11. 실제 예제
services:
app:
image: ubuntu
command: echo "Hello Compose"
의미는 다음과 같다.
app 컨테이너 생성
↓
ubuntu 이미지 사용
↓
Hello Compose 실행
12. Dockerfile과 Compose 다시 비교
Dockerfile
↓
이미지 생성
반면
docker-compose.yml
↓
컨테이너 실행 및 관리
둘의 역할은 완전히 다르다.
13. Part 10 정리
AD
제휴 광고 · 일부 링크는 수수료를 받을 수 있습니다
YAML = 설정 파일 형식
services = 컨테이너 목록
image = 사용할 이미지
build = Dockerfile로 이미지 생성
command = 실행 명령어
ports = 포트 연결
다음 Part에서는 docker-compose.yml을 직접 작성하고 Docker Compose를 실행해본다.
AD
제휴 광고
일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.
AD







