◎ 도커(Docker)란?
Docker 의 사전적 정의를 봅시다.
아마도 "잘라 내는 사람"의 의미를 가져온거 같네요.
- 그렇다면 뭘 잘라낸다는 걸까요?
간단히 말하면 기존의 물리적인 서버 자원을
논리적으로 잘라내서(쪼개서) 더 효율적으로 사용하자!
- 위 도커 구성도를 예로 들어 설명하면
즉 , 예를들어 윈도우(Host Operating System)가 깔려있는 서버(Infrastructure)에
도커엔진(Docker)을 설치하고 그 도커엔진 위에 컨테이너(App A,B,C...F)를 올린다.
각각의 컨테이너는 DB서버가 될수도 있고, WEB서버가 될수도 있고, WAS 서버 등등
이 될 수 있다.
- 그렇다면 VM웨어랑 차이가 뭔가요?
글쎄요...저도 정확히 설명 할 수 없지만, 도커 홈페이지에 올라온 구성도를 보았을때,
가장 큰 차이가 OS 의 차이인거 같네요.
도커는 APP Layer를 쪼개주는 놈(추상화)
VM웨어는 physical hardware 쪼개주는 놈(추상화)
잘 모르겟네요....대충 이정도만 이해하고 넘어갑시당...
- 도커의 용어에 대해 알아봅시다
- 도커 Image : 컨테이너 구성을 이미지(스냅샷) 찍어놓고, 다른곳에 설치할 때 재활용 가능
( 옛날에 윈도우 설치하고 캡쳐 떠놓는 고스트이미지랑 비슷한 개념인듯하네요 )
※ 도커 Image 공유 사이트 : https://hub.docker.com/
- 도커 client : Host OS(Windows,Linux) 를 도커 관점에서 "도커 client" 라고 부르는듯 하네요.
- 도커 server : Docker Engine
- 도커 swarm : 컨테이너 오케스트레이션
- 오케스트레이션? 그게 뭔데?
1. 정의
여러대의 서버와 여러개의 서비스를 편리하게 관리해주는 도구
2. 왜나왔냐면?
이제 한두대의 서버는 관리가 가능한데 점점 더 서버수가 늘어났을때 감당이 안되는거야,
그래서 관리를 쉽게 해주는 도구가 필요했던 거지.
3. 다양한 기능 제공
1) 스케쥴링 : 컨테이너를 적당한 서버에 배포
2) 클러스터링 : 한곳에 명령어를 때리면 전체로 퍼짐
3) 디스커버리
4. 대표적인 orchestration 도구
- docker swarm 거의 망함!
- kubernetes (구글이 만들었어!! 대세!)
- 그래서 요즘 쿠버네티스 얘기가 많이 나오는 거구나!
도커를 공부하다 보니, 쿠버네티스까지 왔네요...
결론!!
결론은 도커로 컨테이너를 만들고,
관리해야 하는 컨테이너가 점점 많아지면 쿠버네티스 관리 도구를 이용한다!
'IT' 카테고리의 다른 글
플러터[flutter] 기초 정리 1 (1) | 2020.07.22 |
---|---|
[Pivotal][MSA] 마이크로서비스로의 여정 정리 (2) | 2020.02.08 |
댓글