어플리케이션을 패키지할 수 있는 툴
컨테이너에 어플리케이션+시스템 툴+디펜던시를 묶어서 쉽게 배포/안정적인 구동
버전차이로 발생하는 에러, 개발자와 서버에 설치되어있는 프로그램 차이와 같은것을 방지
node js, 환경설정, npm 등 어플리케이션을 구동하는데 필요한것들을 도커 컨테이너에 담아놓음.
하드웨어-Host OS-Hypervisor(vmware/VirtualBox)-각각의 Virtual Machine(Gust OS-App/Lib/Bin...)
OS위에서 여러 OS를 구동하는것이기 때문에 무겁고 Resource를 많이 사용함
하드웨어-Host OS-Container Engine-각각의 Container(App/Lib/Bin..)
하나의 OS에서 구동하기 때문에 가법고 Resource를 덜 사용함
대신 Container Engine(Docker가 가장 많이 사용!) 설치 필요
필수 파일, 프레임워크, 라이브러리, 환경변수, 구동방법
어플리케이션을 실행하는데 필요한 세팅요소들(스냅샷)
변경 불가