■ 독커란 ?
반가상화 보다 경량화 된 방식을 사용한 컨테이너 기술
쉽게 말해서, 기존 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으로 변경되었습니다