컨테이너를 쓰는이유

deveopser·2022년 11월 19일
0

Docker

목록 보기
1/15

왜 컨테이너를 배워야 하나요?

컨테이너를 배워야 하는 이유는 시대가 원해서 입니다.
엥? 무슨시대? 소녀시대? 음... 설명을 어떻게 해야할까..
우선 운영플랫폼이 어떻게 발달해왔는지를 살펴보겠습니다.

이미지 출처 : https://www.datanet.co.kr/news/articleView.html?idxno=131759

초창기 운영 플랫폼은 대용량의 bare metal시스템에 여러 application을 운영해왔습니다.
하지만 하드웨어의 가격들은 저렴해지고, 성능은 좋아지면서 더 많은 사용자들을 수용할수 있게 되었습니다.
그러면서 발전된 형태가 바로 Hypervisor 사용하여 Virtual Machine을 사용하는것입니다.
이러한 형태를 가상화 플랫폼이라 합니다. 가상화 플랫폼에서 서비스 중단없이 쉽게 scale out/up을 해야하고 쉽게 배포할수있는 플랫폼을 구성해야했고, 그렇게 등장하게 된게 container engine입니다.
이렇게 발달하게 된게 바로 시대가 원해서..라 할수 있습니다.

왜 굳이 리눅스에서 돌려요?

이러한 컨테이너가 리눅스 커널에 기능을 가지고 만들어 졌다.
리눅스 커널의 대표적인 기능 세가지를 설명하겠다.
chroot : 독립된 공간 형성
namespace : isolate 기능 지원
cgroup 필요한만큼 HW 지원
이러한 기능들을 기반으로 컨테이너를 구성합니다.

그냥 프로그램과 컨테이너는 어떻게 다른가요?

하는 일은 같다. 생긴 모양이 다르다.
일반 프로그램은 개발자가 짠 소스코드를 돌리기 위해, 운영환경에 개발환경과 동일한 조건/환경을 맞춰줘야 한다.
컨테이너는 컨테이너 안에 해당 조건/환경을 맞춰주고, 해당 프로그램/소스코드를 작동시킨다.

그래서 왜 쓰냐고요?

첫번째 개발자가 만든 그대로 어디서든 돌아간다.
왜? 컨테이너로 감쌌으니까
두번째 확장/축소가 쉽다.
왜? 컨테이너를 쌓으면 되니까
Micro Service Architecture (MSA) 와 Devops에 적합하다.

대한민국 최고의 강의가 유튜브에 무료로 올라온걸 몰랐다.
인프런에서 강의도 사고, 책도사고했지만, 해당 강의가 대한민국 최고의 강의인거 같다..(주관적인 생각)
이 강의와 책에있는 내용까지 첨삭해서 도커를 공부할려고 한다.

출처 : https://www.youtube.com/watch?v=NLUugLQ8unM&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi&index=1

profile
부끄럽게 공부하지말자.

0개의 댓글