Мне интересно, какая разница между такими вещами. Они имеют почти одинаковые команды и дают тот же результат.
В чем разница между службой Docker и стеком?
Ответ 1
docker service
используется при управлении отдельной службой в кластере роуминга докеров. Командная строка клиента получает доступ к диспетчеру роуминга докеров.
docker stack
можно использовать для управления мультисервисным приложением. Он также перемещает многие параметры, которые вы вводите на docker service
в .yml file
(например, docker-cloud.yml или docker-compose.yml) для более простого повторного использования. Он работает как передний конец "script" поверх диспетчера рой-докеров, используемого кланом докеров, поэтому вы можете делать все docker stack
с помощью docker service
.
И последнее, но не менее важное: вы можете считать, что docker service
vs docker stack
совпадает с docker run
vs docker compose
, но в кластере сокетов докеров.
Ответ 2
Служба определяет один или несколько экземпляров одного образа, развернутого на одном или нескольких компьютерах (описывается одной записью в части служб файлов docker-compose.yaml).
Стек - это группа разнородных сервисов (описывается всем файлом yaml).