первое различие между контейнерным двигателем и контейнерным оркестратором.
docker
это механизм контейнеров, он позволяет вам собирать и запускать обычно не более одного контейнера, локально на вашем ПК для целей разработки.
docker-compose
является утилитой Docker, которая запускает несколько контейнеров и позволяет им совместно использовать тома и сети с помощью функций механизма докера, запускается локально для эмуляции состава службы и удаленно в кластерах.
Kubernetes - это платформа оркестровки контейнеров, она заботится о запуске контейнеров и расширении возможностей движка, чтобы контейнеры можно было составлять и масштабировать для обслуживания сложных приложений (например, PaaS, управляемый вами или облачным провайдером). Основная функция Kubernetes - это отделение инфраструктуры от приложения с помощью контейнеров, а также она открыта для других движков, которые Docker, например, может запускать контейнеры с rkt или cri-o.
Docker cloud - это также предложение PaaS, которое позволит вам запускать и организовывать контейнеры через docker
API движка.
Теперь, в зависимости от ваших потребностей, уровня контроля над инфраструктурой и целевой аудиторией, вы можете использовать Kubernetes на неизолированном металле, Azure ACS или Google GKE и т. Д.
Надеюсь, что это помогло :) С уважением