[Docker] 도커 개념 #1

컨테이너란?

컨테이너는 OS를 가지지 않는 VM보다 가벼운 단위의 독립된 컴퓨팅 환경이다.

VM

- 하이퍼바이저에 의해 Host OS위에 여러 개의 Guest OS를 띄워서 사용한다.

   (하이퍼바이저 : OS와 리소스를 분리해 가상머신을 생성하고 구동하는 소프트웨어 = VM Manager)

- 하나의 독립된 환경을 생성할 때마다 리소스를 크게 차지하는 Guest OS를 만들어야한다.

Container

- Guest OS를 포함하지 않아 리소스를 적게 사용하며, 최소한의 필요한 프로세스, 라이브러리 등을 포함하여 생성 속도가 빠르다. 

- 각각의 컨테이너가 독립되어 있어 컨테이너 간에 간섭이 없다.

 


도커란?

컨테이너를 생성하고 실행하기 위한 소프트웨어 중 하나이다.

 

도커의 장점

프로젝트 실행환경을 도커 이미지로 저장하면 모든 사람이 동일한 환경에서 작업할 수 있다

환경 구축이 편리하다.

설치된 프로그램들을 이미지로 찍을 수 있기 때문에 소스파일도 저장할 수 있다

배포가 편리하다.

새로운 환경이 필요하다면 구축된 컨테이너의 복제본을 생성하고 해당 환경의 컨테이너를 추가하면 된다 

확장성이 용이하다.

각 컨테이너는 독립적이기 때문에 각 컨테이너에서 실행되고 있는 프로세스 간의 충돌이나 영향을 최소화 할 수 있다

안정적이다.

개발팀은 개발을 진행해 도커 이미지를 생성하고, 운영팀은 도커 이미지를 배포하고 실행할 수 있다

개발과 운영을 분리할 수 있다. 

 

 

'DevOps > Docker&Kubernetis' 카테고리의 다른 글

[Kubernetis] 쿠버네티스 개념 #1  (0) 2023.06.01