phân biệt đầu tiên là giữa động cơ container và bộ điều phối container.
docker
là một công cụ chứa, nó làm cho bạn xây dựng và chạy thường không nhiều nhất một container, cục bộ trên PC của bạn cho mục đích phát triển.
docker-compose
là một tiện ích Docker để chạy nhiều container và cho phép chúng chia sẻ khối lượng và kết nối mạng thông qua các tính năng của công cụ docker, chạy cục bộ để mô phỏng thành phần dịch vụ và từ xa trên các cụm.
Kubernetes là một nền tảng điều phối container, nó đảm nhiệm việc chạy các container và tăng cường các tính năng của động cơ để các container có thể được cấu tạo và thu nhỏ để phục vụ các ứng dụng phức tạp (loại PaaS, do bạn hoặc nhà cung cấp đám mây quản lý). Tính năng chính của Kubernetes là tách rời cơ sở hạ tầng khỏi ứng dụng bằng cách sử dụng các thùng chứa và nó cũng mở cho các công cụ khác mà Docker, ví dụ, nó có thể chạy các container với rkt hoặc cri-o.
Docker cloud cũng là một ưu đãi PaaS cho phép bạn chạy và sắp xếp các container thông qua docker
API công cụ.
Bây giờ tùy thuộc vào nhu cầu của bạn, mức độ kiểm soát đối với cơ sở hạ tầng và đối tượng mục tiêu, bạn có thể sử dụng Kubernetes trên baremetal hoặc Azure ACS hoặc Google GKE, v.v ...
Hy vọng điều này sẽ giúp :) Trân trọng