Я только что прочитал прекрасное руководство по началу работы от Docker и просто хотел подтвердить, что понимаю базовый язык Docker. прежде чем я пойду намного дальше. Эти определения в некоторой степени представлены в документах, но многие из этих документов основаны на примерах, не придавая конкретной формы следующим понятиям.
Таким образом, мое понимание таково:
- Службы. Службы Docker — это различные компоненты вашего приложения: внешний интерфейс может быть пользовательским интерфейсом React, серверная часть может быть веб-службой Spring Boot, у вас может быть БД MySQL, а также брокер RabbitMQ; все это будут разные службы, составляющие ваше приложение.
- Кластер: кластеры Docker — это когда у вас есть Swarm, управляющий 1+ сервисами для приложения на 2+ хостах Docker; Кластер просто относится ко всем хостам Docker, на которых запущены ваши сервисные контейнеры.
- Compose: Docker Compose — это инструмент, используемый для управления службами, группами и стеками.
- Стек: стеки Docker возникают, когда Swarm Manager управляет несколько Swarm для нескольких сервисов в данном кластере для данного приложения; следовательно, разница между Swarm и Stack заключается в том, что Swarm просто применяется к одной службе, тогда как стек управляет несколькими Swarm и, следовательно, несколькими службами, которые все составляют масштабируемое и распределенное приложение.
Поэтому я спрашиваю: правильно ли я понимаю эти фундаментальные термины или я каким-то образом заблуждаюсь?