[Docker] 1. 독커에 대하여

2017. 9. 6. 20:29

cybertramp Linux

■ 독커란 ?


반가상화 보다 경량화 된 방식을 사용한 컨테이너 기술


쉽게 말해서, 기존 VMware 나 Virtualbox 는 호스트에 가상공간을 만들어 운영체제를 올려서 사용했으나

독커는 호스트의 커널을 같이 쓰며, 독커엔진 위에 가상공간을 만들어 프로그램 만을 사용하는 기술


■ 독커는 언제부터 생겨났을까?


2013년 3월 오픈소스 출시

DotCloud라는 프랑스 기업 안에서 도커가 생겨 났다고 해요

제작자는 솔로몬 하익스


다행히 심심하다고 만들지는 않았네요 ....


■ 나는 가상머신도 써야하는데.....


가상머신과 같이 사용하면 됩니다

(출처 : https://www.docker.com/what-container)


■ 너무 어렵지 않을까? git처럼 ㅠ


docker search 로 이미지를 찾고

docker pull 로 이미지를 내려받고

docker run으로 이미지를 컨테이너에서 실행하면 끝 !


생각보다 매우 간단 해요.


■ 장점


- 기존 VMware 나 Virtualbox 보다 효율이 좋습니다

=> 하드웨어를 전가상화 하는게 아니라 반가상화 하기 때문이에요

=> 호스트의 커널 리소스를 공유해서 쓰기 때문이에요


- 설치가 간단하여 편하고 관리가 쉽다

- 도커허브라는 커뮤니티를 통해 이미지 파일을 쉽게 구하고 내려받을수 있습니다

=> 리눅스 배포판의 yum, pacman, apt-get 처럼 말이죠


- 이미지가 호스트 OS 종류에 제약을 받지 않습니다

=> A image를 윈도우 도커 or 맥 도커 or 리눅스 도커 등 도커가 설치되어 있기만 하면 어디서든 사용가능


- 기존 반가상화의 게스트 이미지보다 용량을 적게 차지 합니다


■ 단점


- 도커허브를 통해 내려받기 때문에 보안 위협이 있을수도 있습니다

=> 이미지를 설치하기 전에는 어떤 파일이 들어있는지 알수 없기 때문이에요


- 컨테이너에 원하는 추가기능을 확장하기가 어렵습니다

=> 이미지화 된것을 내려받아 사용하기 때문에 추가기능을 붙이기가 힘들어요


- 도커가 LXC(리눅스컨테이너) 기술에서 나온 것이여서 모든 컨테이너가 리눅스를 기반으로 하고 있습니다

=> 예를 들어 윈도우 ISS 컨테이너 or MAC 메일서버 같은 것을 컨테이너가 존재 하지 않습니다

=> 추후엔 생기겠죠


- 커널에 버그가 있을 경우 모든 컨테이너에 영향을 끼칩니다

=> 호스트의 커널을 공유해서 사용하기 때문이죠


■ 이미지와 컨테이너



독커를 무작정 사용하려면 두가지의 용어 때문에 헷갈릴거에요


이미지는 템플릿 이라 생각하시면 쉬워요. 원하는 프로그램(장난감)의 원본파일이에요


컨테이너는 이미지를 설치 할 공간이에요. 가상의 공간(장난감 상자)을 말해요


■ 독커허브


https://hub.docker.com/explore/


이 곳을 통해서 누구나 도커이미지를 내려받고 배포 할수있습니다


하나의 아파치 웹서버여도 이미지를 누구나 만들고 배포 할수있어서 엄청나게 많은 배포판이 있습니다


따라서 해당 도커의 다운로드 수 or 별점을 보고 받으면 된답니다


■ Docker의 CE와 EE


Docker가 최근에 수익을 얻기 위해 Community Edition 과 Enterprise Edition으로 나누었습니다


기존 오픈소스 Docker가 CC, EE가 비용을 지불하고 사용하는 Docker 입니다


EE는 3가지로 나뉩니다


기본 : Docker Inc. 및 Docker Store의 인증 컨테이너 및 플러그인을 지원하는 인증 된 인프라를 위한 Docker플랫폼

표준 : 고급 이미지 및 컨테이너 관리, LDAP/AD 사용자 통합 및 역할 기반 액세스 제어(Docker Datacenter)를 추가

고급 : Docker Security Scanning 및 지속적인 취약성 모니터링 추가


또한 CE와 EE로 나뉘면서 버전 표기 방식이 YY.MM으로 변경되었습니다