Descripción
Actualizar un servicio
API 1.24+ El cliente y la API del demonio deben ser al menos 1,24 para usar este comando. Utilizar el docker version
comando en el cliente para verificar las versiones de la API del demonio y del cliente.
Enjambre Este comando funciona con el orquestador Swarm.
Uso
docker service update [OPTIONS] SERVICE
Opciones
Nombre, taquigrafía | Defecto | Descripción |
--args |
Args de comando de servicio | |
--config-add |
API 1.30+ Agregar o actualizar un archivo de configuración en un servicio |
|
--config-rm |
API 1.30+ Eliminar un archivo de configuración |
|
--constraint-add |
Agregar o actualizar una restricción de ubicación | |
--constraint-rm |
Eliminar una restricción | |
--container-label-add |
Agregar o actualizar una etiqueta de contenedor | |
--container-label-rm |
Quitar la etiqueta de un contenedor por su llave | |
--credential-spec |
API 1.29+ Especificación de credenciales para la cuenta de servicio administrada (solo Windows) |
|
--detach , -d |
API 1.29+ Salga de inmediato en lugar de esperar a que el servicio converja |
|
--dns-add |
API 1.25+ Agregar o actualizar un servidor DNS personalizado |
|
--dns-option-add |
API 1.25+ Agregar o actualizar una opción de DNS |
|
--dns-option-rm |
API 1.25+ Eliminar una opción de DNS |
|
--dns-rm |
API 1.25+ Eliminar un servidor DNS personalizado |
|
--dns-search-add |
API 1.25+ Agregar o actualizar un dominio de búsqueda DNS personalizado |
|
--dns-search-rm |
API 1.25+ Eliminar un dominio de búsqueda de DNS |
|
--endpoint-mode |
Modo de punto final (vip o dnsrr) | |
--entrypoint |
Sobrescribir el PUNTO DE ENTRADA predeterminado de la imagen | |
--env-add |
Agregar o actualizar una variable de entorno | |
--env-rm |
Quitar una variable de entorno | |
--force |
API 1.25+ Forzar la actualización incluso si ningún cambio lo requiere |
|
--generic-resource-add |
Agregar un recurso genérico | |
--generic-resource-rm |
Eliminar un recurso genérico | |
--group-add |
API 1.25+ Agregar un grupo de usuarios complementario adicional al contenedor |
|
--group-rm |
API 1.25+ Eliminar un grupo de usuarios suplementarios agregado anteriormente del contenedor |
|
--health-cmd |
API 1.25+ Comando para ejecutar para verificar la salud |
|
--health-interval |
API 1.25+ Tiempo entre ejecutar la verificación (ms | s | m | h) |
|
--health-retries |
API 1.25+ Fallos consecutivos necesarios para informar sobre problemas de salud |
|
--health-start-period |
API 1.29+ Período de inicio para que el contenedor se inicialice antes de contar los reintentos hacia inestable (ms | s | m | h) |
|
--health-timeout |
API 1.25+ Tiempo máximo para permitir que se ejecute una verificación (ms | s | m | h) |
|
--host-add |
API 1.32+ Agregar una asignación personalizada de host a IP (host: ip) |
|
--host-rm |
API 1.25+ Eliminar una asignación personalizada de host a IP (host: ip) |
|
--hostname |
API 1.25+ Nombre de host del contenedor |
|
--image |
Etiqueta de imagen de servicio | |
--init |
API 1.37+ Utilice un init dentro de cada contenedor de servicios para reenviar señales y cosechar procesos |
|
--isolation |
API 1.35+ Modo de aislamiento del contenedor de servicio |
|
--label-add |
Agregar o actualizar una etiqueta de servicio | |
--label-rm |
Quitar una etiqueta por su clave | |
--limit-cpu |
Limitar CPU | |
--limit-memory |
Limitar memoria | |
--log-driver |
Controlador de registro para el servicio | |
--log-opt |
Opciones de controlador de registro | |
--mount-add |
Agregar o actualizar una montura en un servicio | |
--mount-rm |
Eliminar una montura por su ruta de destino | |
--network-add |
API 1.29+ Agregar una red |
|
--network-rm |
API 1.29+ Quitar una red |
|
--no-healthcheck |
API 1.25+ Deshabilitar cualquier HEALTHCHECK especificado en el contenedor |
|
--no-resolve-image |
API 1.30+ No consulte el registro para resolver el resumen de imágenes y las plataformas compatibles |
|
--placement-pref-add |
API 1.28+ Agregar una preferencia de ubicación |
|
--placement-pref-rm |
API 1.28+ Eliminar una preferencia de ubicación |
|
--publish-add |
Agregar o actualizar un puerto publicado | |
--publish-rm |
Eliminar un puerto publicado por su puerto de destino | |
--quiet , -q |
Suprimir la salida de progreso | |
--read-only |
API 1.28+ Monte el sistema de archivos raíz del contenedor como solo lectura |
|
--replicas |
Numero de tareas | |
--replicas-max-per-node |
API 1.40+ Número máximo de tareas por nodo (predeterminado 0 = ilimitado) |
|
--reserve-cpu |
Reserva de CPU | |
--reserve-memory |
Reserva de memoria | |
--restart-condition |
Reiniciar cuando se cumpla la condición (“ninguno” | “en caso de falla” | “cualquiera”) | |
--restart-delay |
Retraso entre intentos de reinicio (ns | us | ms | s | m | h) | |
--restart-max-attempts |
Número máximo de reinicios antes de rendirse | |
--restart-window |
Ventana utilizada para evaluar la política de reinicio (ns | us | ms | s | m | h) | |
--rollback |
API 1.25+ Retroceder a la especificación anterior |
|
--rollback-delay |
API 1.28+ Retraso entre reversiones de tareas (ns | us | ms | s | m | h) |
|
--rollback-failure-action |
API 1.28+ Acción en caso de error de reversión (“pausar” | “continuar”) |
|
--rollback-max-failure-ratio |
API 1.28+ Tasa de fallas para tolerar durante una reversión |
|
--rollback-monitor |
API 1.28+ Duración después de cada reversión de tarea para monitorear fallas (ns | us | ms | s | m | h) |
|
--rollback-order |
API 1.29+ Orden de reversión (“comenzar primero” | “detener primero”) |
|
--rollback-parallelism |
API 1.28+ Número máximo de tareas revertidas simultáneamente (0 para revertir todas a la vez) |
|
--secret-add |
API 1.25+ Agregar o actualizar un secreto en un servicio |
|
--secret-rm |
API 1.25+ Eliminar un secreto |
|
--stop-grace-period |
Tiempo de espera antes de forzar la muerte de un contenedor (ns | us | ms | s | m | h) | |
--stop-signal |
API 1.28+ Señal para detener el contenedor |
|
--sysctl-add |
API 1.40+ Agregar o actualizar una opción Sysctl |
|
--sysctl-rm |
API 1.40+ Eliminar una opción de Sysctl |
|
--tty , -t |
API 1.25+ Asignar un pseudo-TTY |
|
--update-delay |
Retraso entre actualizaciones (ns | us | ms | s | m | h) | |
--update-failure-action |
Acción en caso de error de actualización (“pausar” | “continuar” | “deshacer”) | |
--update-max-failure-ratio |
API 1.25+ Tasa de fallas para tolerar durante una actualización |
|
--update-monitor |
API 1.25+ Duración después de cada actualización de tarea para monitorear fallas (ns | us | ms | s | m | h) |
|
--update-order |
API 1.29+ Orden de actualización (“comenzar primero” | “detener primero”) |
|
--update-parallelism |
Número máximo de tareas actualizadas simultáneamente (0 para actualizar todas a la vez) | |
--user , -u |
Nombre de usuario o UID (formato: |
|
--with-registry-auth |
Envíe los detalles de autenticación del registro a los agentes del enjambre | |
--workdir , -w |
Directorio de trabajo dentro del contenedor |
Comando de padres
Mando | Descripción |
---|---|
servicio de docker | Gestionar servicios |
Comandos relacionados
Mando | Descripción |
Crear servicio Docker | Crea un nuevo servicio |
inspeccionar el servicio de Docker | Mostrar información detallada sobre uno o más servicios |
registros de servicio de Docker | Obtener los registros de un servicio o tarea |
servicio ls docker | Listar servicios |
servicio docker ps | Enumere las tareas de uno o más servicios |
docker service rm | Eliminar uno o más servicios |
reversión del servicio de Docker | Revertir los cambios en la configuración de un servicio |
escala de servicio de Docker | Escale uno o varios servicios replicados |
actualización del servicio de Docker | Actualizar un servicio |
Descripción ampliada
Actualiza un servicio como se describe en los parámetros especificados. Este comando debe ejecutarse apuntando a un nodo administrador. Los parámetros son los mismos que docker service create
. Por favor, mire la descripción allí para obtener más información.
Normalmente, la actualización de un servicio solo hará que las tareas del servicio se reemplacen por otras nuevas si un cambio en el servicio requiere volver a crear las tareas para que surta efecto. Por ejemplo, solo cambiando el --update-parallelism
La configuración no volverá a crear las tareas, porque las tareas individuales no se ven afectadas por esta configuración. sin embargo, el --force
flag hará que las tareas se vuelvan a crear de todos modos. Esto se puede utilizar para realizar un reinicio continuo sin ningún cambio en los parámetros del servicio.
Ejemplos de
Actualizar un servicio
$ docker service update --limit-cpu 2 redis
Realice un reinicio continuo sin cambios de parámetros
$ docker service update --force --update-parallelism 1 --update-delay 30s redis
En este ejemplo, el --force
flag hace que las tareas del servicio se cierren y se reemplacen por otras nuevas, aunque ninguno de los otros parámetros normalmente haría que eso suceda. los --update-parallelism 1
La configuración garantiza que solo se reemplace una tarea a la vez (este es el comportamiento predeterminado). los --update-delay 30s
La configuración introduce un retraso de 30 segundos entre tareas, de modo que el reinicio continuo se produce de forma gradual.
Agregar o quitar monturas
Utilizar el --mount-add
o --mount-rm
Las opciones agregan o eliminan los volúmenes o montajes de enlace de un servicio.
El siguiente ejemplo crea un servicio que monta el test-data
volumen a /somewhere
. El siguiente paso actualiza el servicio para montar también el other-volume
volumen a /somewhere-else
volumen, El último paso desmonta el /somewhere
punto de montaje, eliminando eficazmente el test-data
volumen. Cada comando devuelve el nombre del servicio.
-
los
--mount-add
bandera toma los mismos parámetros que el--mount
bandera enservice create
. Consulte la sección de volúmenes y montajes de enlace en elservice create
referencia para más detalles. -
los
--mount-rm
bandera toma eltarget
camino del monte.
$ docker service create --name=myservice --mount type=volume,source=test-data,target=/somewhere nginx:alpine myservice myservice $ docker service update --mount-add type=volume,source=other-volume,target=/somewhere-else myservice myservice $ docker service update --mount-rm /somewhere myservice myservice
Agregar o quitar puertos de servicio publicados
Utilizar el --publish-add
o --publish-rm
banderas para agregar o eliminar un puerto publicado para un servicio. Puede usar la sintaxis corta o larga que se describe en la referencia de creación del servicio docker.
El siguiente ejemplo agrega un puerto de servicio publicado a un servicio existente.
$ docker service update --publish-add published=8080,target=80 myservice
Agregar o quitar una red
Utilizar el --network-add
o --network-rm
banderas para agregar o eliminar una red para un servicio. Puede usar la sintaxis corta o larga que se describe en la referencia de creación del servicio docker.
El siguiente ejemplo agrega un nuevo nombre de alias a un servicio existente que ya está conectado a la red my-network:
$ docker service update --network-rm my-network --network-add name=my-network,alias=web1 myservice
Retroceder a la versión anterior de un servicio
Utilizar el --rollback
opción para volver a la versión anterior del servicio.
Esto revertirá el servicio a la configuración que estaba en su lugar antes de la más reciente docker service update
mando.
El siguiente ejemplo actualiza el número de réplicas del servicio de 4 a 5 y luego revierte a la configuración anterior.
$ docker service update --replicas=5 web web $ docker service ls ID NAME MODE REPLICAS IMAGE 80bvrzp6vxf3 web replicated 0/5 nginx:alpine
Hacer retroceder el web
Servicio…
$ docker service update --rollback web web $ docker service ls ID NAME MODE REPLICAS IMAGE 80bvrzp6vxf3 web replicated 0/4 nginx:alpine
Otras opciones se pueden combinar con --rollback
también, por ejemplo, --update-delay 0s
para ejecutar la reversión sin demora entre tareas:
$ docker service update --rollback --update-delay 0s web web
Los servicios también se pueden configurar para volver a la versión anterior automáticamente cuando falla una actualización. Para configurar un servicio para la reversión automática, use --update-failure-action=rollback
. Se activará una reversión si la fracción de las tareas que no se actualizaron con éxito excede el valor dado con --update-max-failure-ratio
.
La tasa, el paralelismo y otros parámetros de una operación de reversión están determinados por los valores pasados con las siguientes banderas:
--rollback-delay
--rollback-failure-action
--rollback-max-failure-ratio
--rollback-monitor
--rollback-parallelism
Por ejemplo, un servicio configurado con --update-parallelism 1 --rollback-parallelism 3
actualizará una tarea a la vez durante una actualización normal, pero durante una reversión, 3 tareas a la vez se revertirá. Estos parámetros de reversión se respetan tanto durante las reversiones automáticas como para las reversiones iniciadas manualmente mediante --rollback
.
Agregar o quitar secretos
Utilizar el --secret-add
o --secret-rm
Las opciones agregan o eliminan los secretos de un servicio.
El siguiente ejemplo agrega un secreto llamado ssh-2
y quita ssh-1
:
$ docker service update --secret-add source=ssh-2,target=ssh-2 --secret-rm ssh-1 myservice
Actualizar servicios usando plantillas
Algunas banderas de service update
Apoyar el uso de plantillas. Ver service create
para la referencia.
Especificar el modo de aislamiento (Windows)
service update
apoya lo mismo --isolation
marcar como service create
Ver service create
para la referencia.