도커란?
- 컨테이너 기반 가상화 기술
- 특정 프로세스를 실행하기 위한 환경 상태를 여러 파일로 저장
- 각 파일은 레이어로 구현
- 레이어를 쌓아 하나의 이미지 생성
- 이미지는 Application 실행에 필요한 모든 요소를 포함
- 이미지를 통해 컨테이너 생성
- 하나의 이미지에는 프로세스 실행에 필요한 환경을 가지고 있음
- 컨테이너 내 수정 사항은 외부에 영향을 주지 않음
- 이미지만 구축하면 빠른 빌드와 배포가 가능
가상머신과 도커 차이
가상머신
- 하이퍼바이저를 통해 게스트 OS가 실행
- 하이퍼바이저 : 호스트에서 다수 OS 동시 실행 위한 논리적 플랫폼
- 게스트 OS는 하이퍼바이저를 통해 호스트로부터 가상화된 자원 할당됨
- 가상머신은 하이퍼바이저를 통해 실제 하드웨어에 접근하여 속도가 느림
도커
- 게스트 OS 없이 호스트와 커널을 공유
- 커널을 공유하므로 호스트에서 컨테이너 내부에 접근이 가능