이번 포스팅에서는 오케스트레이션 도구를 사용하여 컨테이너를 운영하는 예제를 진행해보겠습니다.
2021.04.06 - [Linux/Docker] - Docker 를 사용한 이유 (Why Docker?)
2021.04.17 - [Linux/Docker] - Docker 사용해보기 - 1 (Why Docker 2편 + CentOS 7.9 Docker 설치)
2021.04.22 - [Linux/Docker] - Docker 사용해보기 - 2 (Nginx Docker 예제)
2021.05.10 - [Linux/Docker] - Docker 사용해보기 - 3 (python 모듈 Docker 에서 실행하기)
먼저 컨테이너에 대해 다시한번 봅시다.
컨테이너는 DOCKER_HOST 로 묶여 관리되지만 내부적으로 독립된 환경을 가지고 있습니다.
2부와 3부에서 생성한 컨테이너를 예시로 확인해봅시다.
Docker Container IP check
$ sudo docker exec flask_app hostname -I
$ sudo docker exec nginx hostname -I
exec 명령을 사용하면 컨테이너에 명령을 실행할 수 있다.
hostname -I 를 사용하면 현재 호스트의 ip 정보를 확인할 수 있다.
컨테이너의 ip 가 다른 것을 확인할 수 있다
curl 명령을 사용해서 해당 ip 에 요청을 보내보자
$ curl http://172.17.0.2
Container Orchestration
? : Docker Container 마다 독립된 환경을 가지고 있고 ip 로 접근이 가능하니 통신도 되고 잘 쓸수있겠다.
컨테이너가 예시에서는 2개뿐이지만 MSA(Microservices Architecture) 를 지향하는 현시점에서
컨테이너의 개수는 무한히 늘어날 수 있다.
(물론 대부분의 경우 아닐 것이고 구글이라던가..)
이때마다 각각의 컨테이너별로 Dockerfile 을 작성하고 빌드하고 하나씩 실행하고...
이런 불편함에 탄생한 것이 컨테이너 오케스트레이션 기술이라고 생각한다.
오케스트레이션 기술의 핵심기능
- 컨테이너 자동 배치 및 복제
- 컨테이너 그룹 로드 밸런싱
- 장애 복구
- 이외에도 수많은 장점이 많다..
오케스트레이션 기술의 대표주자
Kubernetes (77.1k)
docker-compose (22.6k)
Docker Swarm (5.8k)
Apache Mesos (4.7k)
괄호안의 숫자는 github star 개수이다. (2021-05-11 기준)
Kubernetes 에는 위에 서술한 핵심기능 외에도 수많은 기능이 존재하며
이를 전문적으로 다루는 사람을 위한 자격증도 존재한다.
CKA(Certified Kubernetes Administrator)
발급처인 CNCF 는 리눅스 재단의 일부이고 업계에서 인정하는 자격증이다.
추후 작성할 글에서 다룰 오케스트레이션 기술은 docker-compose 이다.
(Docker 문서에서 쉽게 접할 수 있었다)
목차는 이정도로 나올 듯 하다.
1. docker-compose 설치 (offline 설치 포함)
2. docker-compose.yml 작성방법 정리
3. docker-compose 로 여러 컨테이너를 실행하는 예제
Reference
http://www.mantech.co.kr/container_orchestration/
'Linux > Docker' 카테고리의 다른 글
Docker 사용해보기 - 3 (python 모듈 Docker 에서 실행하기) (0) | 2021.05.10 |
---|---|
Docker 사용해보기 - 2 (Nginx Docker 예제) (0) | 2021.04.22 |
Docker 사용해보기 - 1 (Why Docker 2편 + CentOS 7.9 Docker 설치) (0) | 2021.04.17 |
Docker 를 사용한 이유 (Why Docker?) (0) | 2021.04.06 |
최근댓글