Инструменты пользователя

Инструменты сайта


docker:swarm:service_create

Это старая версия документа!


docker service create

Эта команда работает с Swarm. Создаёт новую службу.

docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
Имя, сокращенно По умолчанию Описание
–cap-add API 1.41+. Добавляет возможности Linux
–cap-drop API 1.41+. Отбросьте возможности Linux
–config API 1.41+. Указывает конфигурации для предоставления службе
–constraint Ограничения по размещению
–container-label Этикетки контейнеров
–credential-spec Спецификация учетных данных для управляемой учетной записи службы (только для Windows)
–detach, -d Немедленно выйти, не дожидаясь сходимости службы
–dns Устанавливает пользовательские DNS-серверы
–dns-option Устанавливает параметры DNS
–dns-search Устанавливает пользовательские домены поиска DNS
–endpoint-mode vip Режим конечной точки (vip или dnsrr)
–entrypoint Перезаписать ENTRYPOINT образа по умолчанию
–env, -e Устанавливает переменные среды
–env-file Чтение в файле переменных окружения
–generic-resource Пользовательские ресурсы
–group Устанавливает одну или несколько дополнительных групп пользователей для контейнера
–health-cmd Команда запуска для проверки здоровья
–health-interval Время между запусками проверки (мс|с|м|ч)
–health-retries Последовательные сбои необходимо сообщать о нездоровой
–health-start-period Начальный период для инициализации контейнера до подсчета попыток перехода к нестабильной работе (мс|с|м|ч)
–health-timeout Максимальное время выполнения одной проверки (мс|с|м|ч)
–host Устанавливает одно или несколько настраиваемых сопоставлений хоста и IP (хост: ip)
–hostname Имя узла контейнера
–init Используйте init внутри каждого сервисного контейнера для пересылки сигналов и получения процессов
–isolation Режим изоляции сервисного контейнера
–label, -l Сервисные этикетки
–limit-cpu Ограничьте процессоры
–limit-memory Ограничить память
–limit-pids API 1.41+. Данный параметр работает для оркестратора Swarm. Ограничьте максимальное количество процессов (по умолчанию 0 = неограниченно)
–log-driver Регистрация драйвера для службы
–log-opt Запись параметров драйвера
–max-concurrent API 1.41+. Количество задач задания для одновременного запуска (по умолчанию равно –replicas)
–mode replicated Режим обслуживания (реплицированный, глобальный, реплицированный-задание или глобальный-задание)
–mount Прикрепите монтирование файловой системы к службе
–name Наименование услуги
–network Сетевые вложения
–no-healthcheck Отключает все указанные контейнером HEALTHCHECK
–no-resolve-image Не запрашивайте реестр для разрешения дайджеста образа и поддерживаемых платформ
–placement-pref Добавляет предпочтительный опция размещения
–publish, -p Опубликуйте порт как порт узла
–quiet, -q Подавить вывод прогресса
–read-only Смонтируйте корневую файловую систему контейнера только для чтения
–replicas Количество задач
–replicas-max-per-node API 1.40+. Максимальное количество задач на узел (по умолчанию 0 = неограниченно)
–reserve-cpu Резервные процессоры
–reserve-memory Резервная память
–restart-condition Перезапуск при выполнении условия («нет»|»при сбое»|»любой») (по умолчанию «любой»)
–restart-delay Задержка между попытками перезапуска (ns|us|ms|s|m|h) (по умолчанию 5 с)
–restart-max-attempts Максимальное количество перезапусков перед отказом
–restart-window Окно, используемое для вычисления политики перезапуска (ns|us|ms|s|m|h)
–rollback-delay Задержка между откатами задач (ns|us|ms|s|m|h) (по умолчанию 0 с)
–rollback-failure-action Действие при неудачном откате («пауза»|»продолжить») (по умолчанию «пауза»)
–rollback-max-failure-ratio Допустимая частота отказов во время отката (по умолчанию 0)
–rollback-monitor Продолжительность после каждого отката задачи для отслеживания сбоя (ns|us|ms|s|m|h) (по умолчанию 5 с)
–rollback-order Порядок отката («старт-первый»|»сначала остановлен») (по умолчанию «сначала остановлен»).
–rollback-parallelism 1 Максимальное количество задач, откатываемых одновременно (0, чтобы откатить все сразу)
–secret Указывает секреты, которые необходимо предоставить службе
–stop-grace-period Время ожидания перед принудительным уничтожением контейнера (ns|us|ms|s|m|h) (по умолчанию 10 с)
–stop-signal Сигнал на остановку контейнера
–sysctl API 1.40+. Системные параметры
–tty, -t API 1.40+. Назначает псевдо-TTY
–ulimit API 1.41+. Улимит варианты
–update-delay Задержка между обновлениями (нс|нас|мс|с|м|ч) (по умолчанию 0 с)
–update-failure-action Действие при сбое обновления («пауза»|»продолжить»|»откат») (по умолчанию «пауза»)
–update-max-failure-ratio Частота отказов во время обновления (по умолчанию 0)
–update-monitor Длительность после каждого обновления задачи для отслеживания сбоев (ns|us|ms|s|m|h) (по умолчанию 5 с)
–update-order Порядок обновления («начало-сначала»|»сначала с остановкой») (по умолчанию «сначала с остановкой»)
–update-parallelism 1 Максимальное количество одновременно обновляемых задач (0, чтобы обновить все сразу)
–user, -u Имя пользователя или UID (формат: <name|uid>[:<group|gid>])
–with-registry-auth Отправить данные проверки подлинности реестра агентам swarm
–workdir, -w Рабочий каталог внутри контейнера

Примеры

создаем службу

vagrant@server1:~$ docker service create --name redis redis:latest
 
vagrant@server1:~$ docker service ps redis
ID             NAME      IMAGE          NODE      DESIRED STATE   CURRENT STATE            ERROR     PORTS
fow99mp8tmr9   redis.1   redis:latest   server2   Running         Running 50 seconds ago

смотрим логи

vagrant@server1:~$ docker service logs redis
redis.1.fow99mp8tmr9@server2    | 1:C 10 Dec 2023 15:45:44.045 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis.1.fow99mp8tmr9@server2    | 1:C 10 Dec 2023 15:45:44.045 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis.1.fow99mp8tmr9@server2    | 1:C 10 Dec 2023 15:45:44.045 * Redis version=7.2.3, bits=64, commit=00000000, modified=0, pid=1, just started
redis.1.fow99mp8tmr9@server2    | 1:C 10 Dec 2023 15:45:44.045 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis.1.fow99mp8tmr9@server2    | 1:M 10 Dec 2023 15:45:44.046 * monotonic clock: POSIX clock_gettime
redis.1.fow99mp8tmr9@server2    | 1:M 10 Dec 2023 15:45:44.046 * Running mode=standalone, port=6379.
redis.1.fow99mp8tmr9@server2    | 1:M 10 Dec 2023 15:45:44.048 * Server initialized
redis.1.fow99mp8tmr9@server2    | 1:M 10 Dec 2023 15:45:44.048 * Ready to accept connections tcp

Удалить службу

vagrant@server1:~$ docker service rm redis
redis
 
vagrant@server1:~$ docker service ls
ID        NAME      MODE      REPLICAS   IMAGE     PORTS

Масштабировать службу на другие ноды

vagrant@server1:~$ docker service create --name redis redis
qjkv7nbmsk5ed6zs43vlw1b19
overall progress: 1 out of 1 tasks
1/1: running   [==================================================>]
verify: Service converged
vagrant@server1:~$ docker service ls
ID             NAME      MODE         REPLICAS   IMAGE          PORTS
qjkv7nbmsk5e   redis     replicated   1/1        redis:latest
vagrant@server1:~$ docker service scale redis=2
redis scaled to 2
overall progress: 2 out of 2 tasks
1/2: running   [==================================================>]
2/2: running   [==================================================>]
verify: Service converged
vagrant@server1:~$ docker service ls
ID             NAME      MODE         REPLICAS   IMAGE          PORTS
qjkv7nbmsk5e   redis     replicated   2/2        redis:latest
docker/swarm/service_create.1703337772.txt.gz · Последние изменения: 2023/12/23 16:22 — werwolf