상세 컨텐츠

본문 제목

[Server] Docker 에 대해서

기술보안/System

by about_SC 2020. 4. 16. 11:12

본문

[Server] Docker 에 대해서

 

__What is Docker?

: 먼저, Docker에 대해 알아보기로 하자.
Docker란 2013.03월에 알려지게되며 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

컨테이너라 하면 배에 실는 네모난 화물 박스를 떠올리게 되는데, 이 컨테이너에 다양한 물품들을 넣을 수 있고, 규격화되어 트레일러나 기타 등의 운송수단으로 쉽게 옮겨질 수 있다.

서버에서 컨테이너는 이와 비슷하게 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. 백엔드 프로그램, 데이터베이스 서버, 메시지 큐 등 어떤 프로그램도 컨테이너로 추상화할 수 있고, 조립 PC, AWS, Azure, Google cloud 등 어디서든 실행가능하다.

 

__컨테이너란?

컨테이너에 대해 조금 더 자세히 알아보자. 
컨테이너란 프로세스를 격리시켜 동작하는 기술로 기존 사용하던 VMware나 VirtualBox와 같은 가상화와는 다르다.

Vmware와 같은 기존의 가상화 방식은 주로 OS를 가상화하였다. 이는 가상머신을 사용해 호스트 OS위에 게스트 OS 전체를 가상화하여 사용하는 방식으로, 비교적 사용법이 간단하지만 어떤 환경을 만들고자 할때마다 게스트 OS가 추가되어 무겁고 느려서 운영환경에서는 사용이 불가능하다.

이러한 상황을 개선하기 위해 CPU의 가상화(HVM)을 이용한 KVM(kernel-based virtual machine)과 반 가상화(Paravirtualization) 방식의 Xen이 등장했다. 이 또한 Guest OS가 필요하지만 전체 OS를 가상화하는 방식이 아니였기 때문에 호스트형 가상화 방식에 비해 성능이 향상되었다. 이러한 기술들은 OpenStack이나 AWS, Rackspace와 같은 클라우드 서비스에서 가상 컴퓨팅 기술의 기반이 되었다.

전가상화든 반가상화든 추가적인 OS를 설치하여 가상화하는 방법은 성능에 문제가 있기마련이고, 이를 개선하기 위해 프로세스를 격리하는 방식이 등장했다. 리눅스에서는 이러한 방식을  리눅스 컨테이너라 부르며 CPU나 메모리는 딱 프로세스가 필요한 만큼만 추가로 사용하고 성능적으로도 손실이 없다.

컨테이너란?

 

Docker와 Virtual Machine의 차이점

 

Virtual Machine 에 Docker 를 탑재하여 사용가능

 

Reference.

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이미지에 대해 알아보고 왜 이렇게 도커가 인기 인지 하나하나 살펴보겠습니다.

subicura.com

https://likefree.tistory.com/18

 

도커란 무엇인가?

docker에 대해 공부하면서 느낀 점을 공유하면 좋을 것 같아 포스팅합니다. 먼저 도커란 무엇인가 ? 공식 홈페이지에서 도커의 개요를 보면 도커란 "Docker는 컨테이너 이동을 주도하는 회사이며 하이브리드 클라..

likefree.tistory.com

 

'기술보안 > System' 카테고리의 다른 글

SaaS 환경의 장/단점  (0) 2021.01.10
IaaS, PaaS, SaaS 란?  (0) 2021.01.10
[Forensic] IconCache.db  (0) 2020.02.23
[Window] Window 10 openssh 구성 방법  (0) 2019.10.16
[mimikatz] mimikatz를 이용한 윈도우 패스워드 크래킹  (0) 2018.12.02

관련글 더보기