사용 상황
- 개발 환경 통일:
- 팀원마다 다른 환경(운영체제, 설정)에서 발생하는 문제를 해결.
- "어디서든 동일하게 동작"하는 환경 제공.
- 애플리케이션 배포:
- 서버에 복잡한 설치 과정 없이 컨테이너를 실행해 배포 간소화.
- 테스트:
- 여러 환경을 빠르게 생성해 테스트 가능.
기능
- 컨테이너 실행:
- 애플리케이션과 환경을 하나의 패키지처럼 실행.
- 예: Python 앱을 실행할 때 필요한 Python 환경도 함께 포함.
- 이미지(Image) 생성:
- 컨테이너를 실행하기 위한 템플릿.
- 예: Dockerfile로 이미지를 정의.
- 경량화:
- 컨테이너는 가볍고, 필요한 리소스만 사용.
- 이식성:
- 개발 환경, 테스트 환경, 운영 환경에서 동일하게 동작.
쉽게 비유
- Docker는 포장된 도시락:
- 도시락(애플리케이션 + 환경)을 어디서든 바로 열어 먹을 수 있음.
- 내용물(환경 설정)이 항상 동일하므로 예측 가능.
한줄 요약
Docker는 어디서든 동일한 환경에서 애플리케이션을 실행하고, 배포를 간단하게 만드는 도구