728x90
반응형
도커 컴포즈 정의 파일을 작성하는 법을 알아보자
도커 명령어와 도커 컴포즈의 정의파일에 정의되는 내용을 비교
- 아파치 컨테이너의 컴포즈 파일 예제
- version: "3"
- services:
- apa00ex2:
- image: httpd
- ports:
- - 8080:80
- restart: always
- apa00ex2 컨테이너를 실행하는 명령어
- docker run --name apa00ex2 -d -p 8080:80 httpd
- 워드프레스 컨테이너의 컴포즈 파일 예제
- version: "3"
- d
- services:
- wordpress00ex12:
- depends_on:
- - mysql00ex11
- image: wordpress
- networks:
- - wordpress00net1
- ports:
- -8085:80
- restart: always
- environment:
- WORDPRESS_DB_HOST=mysql00ex11
- WORDPRESS_DB_NAME=wordpress00db
- WORDPRESS_DB_USER=wordpress00charm
- WORDPRESS_DB_PASSWORD=wcharmpass
- wordpress00ex12 컨테이너를 실행하는 명령어
- docker run --name wordpress00ex12 -dit --net=wordpress00net1 -p 8085:80 -e WORDPRESS_DB_HOST=mysql00ex11 -e WORDPRESS_DB_NAME=wordpress00db -e WORDPRESS_DB_USER=wordpress00charm -e WORDPRESS_DB_PASSWORD=wcharmpass wordpress
컴포즈 파일(정의 파일) 작성 전, 확인 사항
- 정의 파일은 YAML 형식을 따르고, 확장자는 .yml이다.
- 메모장 등의 텍스트 에디터로 작성하면 되고, Linux는 nano 에디터 등을 사용한다.
- 파일 이름은 docker-compose.yml 로 하거나, -f 옵션을 사용해 다른 이름을 파일 이름으로 사용해도 된다.
- 특정 이름을 사용해야 하는 게 아니라면, 정해진 이름인 docker-compose.yml로 파일 이름을 만든다.
컴포즈 파일(정의 파일)을 작성하는 방법
- 제일 먼저 컴포즈 버전을 적고, 그 뒤로 services와 networks, volumes를 차례로 기재한다.
- services는 쉽게 말해 컨테이너에 대한 내용이다.
- 도커 컴포즈와 쿠버네티스에서는 컨테이너의 집합체를 서비스(services)라고 부른다.
- 작성요령: 주 항목 → 이름 추가 → 설정과 같은 순서로 생각하면 쉽다.
- 주 항목은 services, networks, volumes 등이 있고, 주 항목 아래에 정의 내용이 기재되므로 콜론(:)을 붙인다.
컴포즈 파일의 작성 예(주 항목)
version: "3" ← 버전 기재
services: ← 컨테이너 관련 정보
networks: ← 네트워크 관련 정보
volumes: ← 볼륨 관련 정보
- 주 항목 아래에는 이름을 기재하되, 주 항목보다 한 단 들여쓰기해서 적는다.
- 한 단의 공백 개수는 상관없고 탭은 사용할 수 없다. 또한, 한 단을 '공백 한 개'로 정했다면 그 뒤로도 계속 같은 개수의 공백을 한 단으로 사용해야 한다.
- YAML 형식에서는 공백에 따라 의미가 달라진다.
- 이름 뒤에는 반드시 콜론(:)을 붙여야 하고, 해당 줄에 이어서 설정을 기재하려면 콜론 뒤에 공백이 하나 있어야 한다.
- 이 자리에 공백을 넣는 것을 잊어버리기 쉽기 때문에 오류 발생 시 여기부터 확인하는 것이 좋다.
컴포즈 파일의 작성 예(이름을 추가)
version: "3"
services:
컨테이너_이름1:
컨테이너_이름2:
networks:
네트워크_이름1:
volumes:
볼륨_이름1:
볼륨_이름2:
- 이름을 기재한 다음에는 각 컨테이너의 설저을 기재한다.
- 기재할 내용이 한 가지라면 콜론 뒤에 이어 적는다.(사이에 공백 필수)
- 내용이 여러 개라면 줄을 바꿔 하이픈(-)을 앞에 적고 들여쓰기를 맞춘다.
- 설정을 작성할 때 역시 한 단을 들여써야 한다.
- 앞에서 이름을 적을 때 들여쓰기 한 단을 '공백 두 개'로 했다면, 설정은 주 항목보다 공백 네 개를 들여쓴 셈이다.
- 줄을 바꿔 하이픈을 앞에 적은 행은 한 단을 더 들여써야 한다. 주 항목과 비교하면 공백 여섯 개를 들여쓴 셈이다.
컴포즈 파일의 작성 예(설정을 기재)
version: "3"
services:
컨테이너_이름1:
image: 이미지_이름
networks:
- 네트워크_이름
ports:
- 포트_설정
...
컨테이너_이름2:
image: 이미지_이름
...
networks:
네트워크_이름1:
...
volumes:
볼륨_이름1:
볼륨_이름2:
...
728x90
'docker & kubernetes' 카테고리의 다른 글
쿠버네티스 사용하기 1 | Docker&Kubernetes 학습 33 (0) | 2024.12.18 |
---|---|
컨테이너 사용법 9 | Docker&Kubernetes 학습 32 (0) | 2024.12.14 |
컨테이너 사용법 7 | Docker&Kubernetes 학습 30 (1) | 2024.12.11 |
컨테이너 사용법 6 | Docker&Kubernetes 학습 29 (3) | 2024.12.03 |
컨테이너 사용법 5 | Docker&Kubernetes 학습 28 (3) | 2024.12.01 |