Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Это старая версия документа!
Эта команда работает с 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 | Рабочий каталог внутри контейнера |
создаем службу
$ docker service create --name redis redis:latest $ 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
смотрим логи
$ 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
Удалить службу
$ docker service rm redis redis $ 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