Я новый пользователь-докер. И в руководствах разницы я обычно нахожу файл docker-compose.yml для описания задания докеров, но на докере-сайте для этой цели используется файл docker-stack.yml. Какая разница?
Ответ 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:
-
Обновлять отдельно
При работе с сервисами, роями и файлами docker-stack.yml имейте в виду, что задачи (контейнеры), поддерживающие сервис, могут быть развернуты на любом узле в рое.
Это может применяться к другому узлу каждый раз, когда услуга обновляется.
-
Развертывание удаленно
Если вы используете Docker Swarm на своем частном хосте, то docker-stack.yml может использовать для удаленного доступа к вашему приложению и его развертывания на хосте с помощью ключа SSH.
Вы можете даже использовать такой сервис, как Codefresh, чтобы сделать это.