출처 : 패캠 gitops
docker repo 설정 : https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
compose plugin 설치 : https://docs.docker.com/compose/install/linux/
패키지 설치 명령어 : sudo apt-get install docker-compose-plugin
수동 설치 : https://docs.docker.com/compose/install/linux/#install-the-plugin-manually
튜토리얼 : https://docs.docker.com/compose/gettingstarted/
environment variable : https://docs.docker.com/compose/compose-file/05-services/#environment
등 상세 내용 확인 해야 한다.
docker compose CLI, YAML 파일 작성
정의 : https://github.com/compose-spec/compose-spec/blob/master/spec.md
docker compose CLI 보다 YAML 파일 사용하는 것이 IaC 운영에 특화 되어 있다.
특징 : caching으로 빠른 서비스 실행, 동일네트워크 안에서 API 통신 가능
단계 : Dockerfile -> docker-compose.yaml -> docker compose up
단점 : 여러개의 컨테이너를 운영하므로 높은 이해도가 필요하면 도커 호스트의 리소스 관리도 해야한다.
YAML : Yet Another Markup Language or YAML ain't markup language(Text file)
문법 : 들여쓰기(띄어쓰기만 허용. tab 미지원), python dictionary(key, value) 숫자형, 문자형, Boolean형 지원.
코드 작성 순서
version
services # Dockerfile
networks
volumes
healthcheck
들여쓰기 검증 : yamllint.com | codebeautify.org/yaml-validator | onlineyamltools.com/validate-yaml
docker compose {-f compose.yaml} # 기본값
docker compose config
docker compose up -d # 백그라운드 실행
docker compose ps # 조회
docker compose stop 서비스(컨테이너)
docker compose start 서비스
docker compose logs -f 서비스
docker compose pause
docker compose down # stop & rm
연습 코드 : https://docs.docker.com/compose/samples-for-compose/
https://github.com/docker/awesome-compose/blob/master/elasticsearch-logstash-kibana/
'Infra > IaC' 카테고리의 다른 글
[k8s] Ubuntu 22.04 설치 정리 231029 (1) | 2023.10.29 |
---|---|
[Docker] Swarm mode (0) | 2023.10.26 |
[Docker] Dockerfile 경량화 (0) | 2023.10.26 |
[Docker] docker volume 데이터 지속성 및 데이터 관리 (1) | 2023.10.26 |
[Docker] 리소스 모니터링과 자원 할당 관리 (0) | 2023.10.24 |