Notice
Recent Posts
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
관리 메뉴

Dev_R

도커(Docker)의 개요 본문

Server/Docker

도커(Docker)의 개요

Dave(데이브) 2020. 3. 9. 03:39
반응형

[Docker에 대해 공부하며 작성하는 개발일지 수준입니다.]

 

docker logo

 

도커는 간단히 말해 컨테이너 기반의 오픈소스 가상화 플랫폼입니다.

애플리케이션의 실행에 필요한 것을 하나로 모아, Docker 이미지를 관리함으로써 애플리케이션의 이식성을 높일 수 있습니다.

 

 

 

우선 Docker를 이해하는데 있어서 배경에 있는 컨테이너 기술이 어떤 것인지 알아보려 합니다.

 

 

 

Docker Container

 > 컨테이너

 

컨테이너란 호스트 os상의 논리적인 구획을 만들고, 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아, 마치 별도의 서버인것 처럼 사용할 수 있게 만든 것입니다. 호스트 os의 리소스를 논리적으로 분리시키고 여러개의 컨테이너가 공유하며 사용합니다. 특히 컨테이너는 오버헤드가 적기 때문에 가볍고 고속으로 작동한다는 것이 특징입니다.

 

 

 > Docker의 개요

도커는 애플리케이션의 실행에 필요한 환경을 하나의 이미지로 모아두고, 그 이미지를 사용하여 다양한 환경에서 애플리케이션 실행환경을 구축 및 운용하기 위한 오픈소스 플랫폼입니다. Docker는 내부에서 컨테이너 기술을 사용하고 있는 것이 특징입니다.

 

 

 > Docker의 기능

 

기능은 아래와 같습니다.

- Docker의 이미지를 만드는 기능

- Docker의 이미지를 공유하는 기능

- Docker의 컨테이너를 작동시키는 기능

 

 

 

 > Docker 지원 플랫폼

 

For Server OS

Ubuntu, Debian, CentOS, Fedora

 

For Public Cloud

Microsoft Azura

Amazon Web Services

 

For Client Os

Microsoft Windows 10

mac OS

 

또한 IoT와 같은 ARM아키텍처에서 작동하는 디바이스의 경우에는 Docker Community Edition을 이용할 수 있습니다.

 

 

 

 

>Docker 컴포넌트

 

- Docker Engine(핵심기능)

이미지를 생성하고 컨테이너를 기동시키기 위한 핵심기능입니다.

 

- Docker Registry

컨테이너의 바탕이 되는도커이미지를 공개 및 공유하기 위한 레지스트리 기능입니다.

 

- Docker Compose

여러개의 컨테이너 구성정보를 코드로 정의하고, 명령을 실행함으로써 애플리케이션의 실행환경을 구성하는 컨테이너들을 일원 관리하기 위한 툴입니다.

 

- Docker Machine

로컬 호스트인 버츄얼박스를 비롯하여 ec2나 Azura와 같은 클라우드 환경에서 docker의 실행환경을 명령으로 자동 생성하기 위한 툴입니다.

 

- Docker Swarm

여러 호스트를 클러스터화 하기 위한 툴입니다. Docker Swarm에서는 클러스터를 관리하거나 API를 제공하는 역할은 Manager가, Docker 컨테이너를 실행하는 역할은 Node가 담당합니다. 또한 오픈소스인 Kubernetes도 이용할 수 있습니다.

 

 

반응형
Comments