- 도커 공식 홈페이지 https://www.docker.com/
도커란?
- Docker는 VMWare, Microsoft Hyper-V등 가상 머신처럼 독립된 실행환경을 만들 수 있습니다.
- 컨테이너 기반의 오픈소스 가상화 플랫폼입니다.
가상머신과 다른점?
- 가상 머신에서 독립된 실행환경을 세팅할 경우 운영체제를 설치하고 서버, DB를 설치하고 프로그램을 실행하는 방식이였습니다. 도커에서는 세팅된 가상 머신 이미지를 여러 서버에서 실행할 수 있으며, 이미지 하나로 서버를 계속 만들어 낼 수 있습니다.
컨테이너?
- 컨테이너는 격리된 공간에서 프로세스가 실행되는 기술입니다
이미지?
- 이미지는 컨테이너 실행에 필요한 파일과 설정값을 포함하고 있습니다.
- 컨테이너는 이미지를 실행한 상태라고 볼 수 있고 추가되거나 변하는 값은 컨테이너에 저장됩니다.
- 컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도 이미지는 변하지 않고 그대로 남아있습니다.
Docker Hub
- 도커 이미지는 큰 용량을 가지고 있으며, Docker Hub를 통해 GIT과 비슷하게 이미지를 무료로 Pull Push할 수 있습니다.
가상머신(우측 이미지)
가상 머신은 성능이 좋지 못한 것이 단점이며 느린 속도를 개선하기 위해 반가상화(Paravirtualization) 방식이 개발되었고 현재도 쓰이고 있습니다.
이미지 파일에 OS가 포함되어 있기에 아무리 좋아졌다 한들 큰 용량으로 인한 단점이 있습니다.
도커(좌측 이미지)
도커는 반 가상화보다 좀 더 경량화된 방식이며 OS를 설치하지 않아 이미지 용량이 크게 줄어듭니다. 아울러, 가상화 레이어가 없기 때문에 파일시스템, 네트워크 속도도 가상 머신에 비해 월등히 빠릅니다.