Подтвердить что ты не робот

Docker-compose.yml vs docker-stack.yml какая разница?

Я новый пользователь-докер. И в руководствах разницы я обычно нахожу файл docker-compose.yml для описания задания докеров, но на докере-сайте для этой цели используется файл docker-stack.yml. Какая разница?

4b9b3361

Ответ 1

docker-compose.yml предназначен для инструмента для компоновки докеров, который предназначен для приложений с несколькими контейнерами-докере на одном устройстве докеров.

его вызываемый с помощью

docker-compose up

docker-stack.yml предназначен для инструмента для создания докеров. (для оркестровки и планирования).

его вызываемый с помощью

docker stack

Ответ 2

Чтобы добавить в Gabbax0r ответ:

Docker Swarm был автономным компонентом, который использовался для кластеризации двигателей Docker как единого.

Начиная с Docker 1.12, автономный "Swarm" был интегрирован в движок Docker (см. Преамбулу на этой странице), и Swarm является (или будет) устаревшим.

Чтобы ответить на ваш первоначальный вопрос, это просто разные имена для разных случаев, но оба они предназначены для одной и той же цели.

Чтобы ответить на вопрос с комментарием, используйте docker-compose, когда вам нужно организовать мультиконтейнерное приложение на одном узле; если вам нужно беспокоиться о мультиузлах и балансировке нагрузки, а также обо всех этих продвинутых вещах, вам лучше воспользоваться Swarm.

Ответ 3

Docker-stack.yml имеет преимущество перед docker-compose.yml:

  1. Обновлять отдельно

    При работе с сервисами, роями и файлами docker-stack.yml имейте в виду, что задачи (контейнеры), поддерживающие сервис, могут быть развернуты на любом узле в рое.

    Это может применяться к другому узлу каждый раз, когда услуга обновляется.

  2. Развертывание удаленно

    Если вы используете Docker Swarm на своем частном хосте, то docker-stack.yml может использовать для удаленного доступа к вашему приложению и его развертывания на хосте с помощью ключа SSH.

    Вы можете даже использовать такой сервис, как Codefresh, чтобы сделать это.