В чем разница между службой 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).