Команда
docker service
в Docker Swarm заменяет docker run
.docker run
был создан для решений с одним хостом.Вся его идея заключается в том, чтобы сосредоточиться на локальных контейнерах в системе, с которой он говорит.В то время как в кластере отдельные контейнеры не имеют значения.Мы просто используем сервисы swarm для управления несколькими контейнерами в кластере.Swarm организует для нас контейнеры с услугами.
docker service create
в основном используется в режиме роя докера .docker run
не имеет понятия масштабирования вверх / вниз.С помощью docker service create
вы можете указать количество создаваемых реплик с помощью команды --replicas
.Это создаст и будет управлять несколькими репликами контейнеров в разных узлах.Существует несколько таких опций для управления несколькими контейнерами с помощью docker service create
и других команд в docker service ...
Еще одно примечание: службы докеров предназначены для систем управления контейнером (рой).Он имеет встроенные средства для восстановления после сбоев.то есть.он воссоздает контейнер при сбое.docker run
никогда не будет воссоздавать контейнер, если он потерпит неудачу.Когда используются команды docker service
, мы напрямую не просим выполнить какое-либо действие, такое как «создать отдельный контейнер», скорее мы говорим системе оркестровки «поместить это задание в вашу очередь, и когда вы сможете добраться до него, выполните это действие».на рой ".Это означает, что в него встроены средства отката, уменьшение сбоев и множество интеллектуальных возможностей.
Вам следует рассмотреть возможность использования docker service create
в режиме роя и docker run
, когда не в режиме роя.Вы можете посмотреть на роях докеров, чтобы понять, какие сервисы докеров.