Docker là một nền tảng cho containerization — đóng gói một ứng dụng cùng với tất cả các phụ thuộc của nó vào một container di động chạy nhất quán ở mọi nơi. Nó giải quyết vấn đề kinh điển "nó chạy được trên máy tôi mà" bằng cách làm cho các môi trường có thể tái tạo được.
Vấn đề: môi trường không nhất quán
KHÔNG có container:
→ một ứng dụng chạy được trên máy của lập trình viên nhưng lỗi ở test/production
→ khác OS, phiên bản thư viện, config, thiếu phụ thuộc → "chạy được trên máy tôi"
→ thiết lập môi trường thủ công, dễ sai sót và không nhất quán
