도커(Docker) 는 컨테이너(Container)를 생성하고 관리하는 표준 도구입니다.
쉽게 말해, 애플리케이션과 실행 환경을 통째로 하나의 패키지로 묶어 어디서든 동일하게 실행할 수 있게 해주는 기술입니다.
컨테이너는 애플리케이션과 필요한 모든 실행 환경(라이브러리, 설정, 의존성 등)을 함께 패키징한 독립적인 모듈입니다.
👉 실생활 비유
| 구분 | VM(가상머신) | 컨테이너 |
|---|---|---|
| OS | 각 VM마다 별도의 OS 필요 | Host OS를 공유 |
| 자원 사용 | VM마다 고정된 자원 할당 → 낭비 발생 | 필요할 때만 자원 사용 → 효율적 |
| 성능 | Host OS보다 느림 | Host OS와 거의 동일 |
| 배포 속도 | 무겁고 느림 | 가볍고 빠름 |
즉, 컨테이너는 VM보다 훨씬 가볍고, 자원 낭비가 적으며, 실행 속도가 빠릅니다.