Docker Compose là một công cụ để định nghĩa và chạy các ứng dụng đa container bằng một tệp YAML duy nhất. Thay vì chạy nhiều lệnh docker run thủ công, bạn mô tả tất cả các dịch vụ của mình (app, database, cache) trong docker-compose.yml và khởi động chúng cùng nhau bằng một lệnh.
Vấn đề mà Compose giải quyết
Một ứng dụng thực tế thường có NHIỀU container: một ứng dụng web + một database + một cache + ...
→ chạy thủ công từng cái với docker run (cổng, network, volume, env, phụ thuộc)
là tẻ nhạt, dễ sai sót và khó tái tạo/chia sẻ
→ Compose định nghĩa TOÀN BỘ stack trong một tệp → khởi động tất cả bằng một lệnh.
