도커&쿠버네티스

[Docker] Docker의 개념 및 핵심 설명

martinooo 2022. 6. 27. 16:36

Docker란? 

Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼입니다. 

 

VM(Virtual Machine)과 컨테이너(Container)의 차이

 

가상화는 VM 버추얼 머신으로 OS가상화죠. 대표적으로 window, linux가 있죠.

VM같은 경우는 OS위에 하이퍼바이저 위에 있는 경우라 속도가 느리고 용량또한 큽니다.

하지만 도커의 경우에 VM설치할필요가 없이 OS위에 docker engine있어서 

용량이적고 속도가 빨라 빠르게 개발환경구축 및 배포에 좋습니다.

도커에서 Container 란?

쉽게 생각하면 하나의 어플리케이션을 실행시키기위한 독집적으로 운용할수있는 격리 기술입니다.

 

도커에서 image 란?

도커 이미지란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있어 image에 버전을 컨테이너에 담아서 해당 프로세스를 동작 하게 만드는 것입니다.

 

아래에 구조로 이미지와 컨테이너가 만들어지는 구조입니다.

그렇다면 도커를 써야하는이유?

도커의 컨테이너는 어플리케이션 구애받지 않고 쉽게 말해 같이 일하는 다른 개발자들이 개발환경에 구애받지 않고 

Docker Engine이 설치되어있다면 도커 명령어를 통해서 개발환경을 구축시킬수있습니다. 

또한 여러개의 컨테이너를 배포할수있는 확장성을 지녔습니다. 

그래서 소프트웨어 개발자라면 도커를 활용하면 좋다고 생각합니다.

 

다음에는 도커파일을 활용해서 도커를 활용해보겠습니다.