滚动更新参数

docker service update [OPTIONS] SERVICE

常用的更新示例

docker service update --force 
    --update-delay=5s  #每个容器更新间隔秒
    --update-parallelism 1  #每次更新1个服务 
    --update-failure-action continue #更新失败后继续执行的动作
    --rollback-delay 3s   #回滚间隔时间
    --rollback-parallelism 1 回滚允许的并行数量
    --rollback-monitor 10s 回滚监控时间(回滚之后,如果任务在此时间段内停止,则认为回滚失败)
    --rollback-max-failure-ratio 0.2 回滚失败率 
    --rollback-failure-action pause #回滚失败暂停操作
    --image nginx:alpine-1.21.6
    SERVICE_NAME

设置限制条件

#指定运行的服务器
docker service update service_name --constraint-add 'node.role == worker'

-d, --detach                        立即退出而不是等待服务收敛

--dns-add list                      添加或更新自定义DNS
--dns-option-add list                 添加或更新DNS选项
--dns-option-rm list                 删除一个DNS选项
--dns-rm list                       删除一个自定义DNS
--dns-search-add list                添加或更新自定义DNS搜索域
--dns-search-rm list                 删除一个自定义DNS搜索域

--endpoint-mode string               Endpoint模式 (vip或dnsrr)
--entrypoint command                覆盖默认 ENTRYPOINT of the image

--env-add list                       添加或更新环境变量
--env-rm list                        删除一个环境变量

--force                              即使没有更改需要,也强制更新


--generic-resource-add list          添加通用资源Add a Generic resource
--generic-resource-rm list           删除通用资源Remove a Generic resource


--group-add list                     向容器添加一个用户组 
--group-rm list                      从容器中删除以前添加的补充用户组 


--health-cmd string                  Command to run to check health
--health-interval duration           Time between running the check (ms|s|m|h)
--health-retries int                 报告不健康需要连续失败次数


--health-start-period duration       Start period for the container to initialize before counting retries towards unstable (ms|s|m|h)
--health-timeout duration            Maximum time to allow one check to run (ms|s|m|h)
--host-add list                      Add a custom host-to-IP mapping (host:ip)
--host-rm list                       Remove a custom host-to-IP mapping (host:ip)
--hostname string                    Container hostname
--image string                       定义服务image标签

--init                               在每个服务容器中使用init来转发信号并收集进程
--isolation string                   服务容器隔离模式(Service container isolation mode)

--label-add list                     添加或更新service标签
--label-rm list                       删除service标签

--limit-cpu decimal                  CPU限制
--limit-memory bytes                 内存限制


--log-driver string                  Logging driver for service
--log-opt list                       Logging driver options
--mount-add mount                    Add or update a mount on a service
--mount-rm list                      Remove a mount by its target path
--network-add network                Add a network
--network-rm list                    Remove a network
--no-healthcheck                     Disable any container-specified HEALTHCHECK
--no-resolve-image                   Do not query the registry to resolve image digest and supported platforms
--placement-pref-add pref            Add a placement preference
--placement-pref-rm pref             Remove a placement preference
--publish-add port                   Add or update a published port
--publish-rm port                    Remove a published port by its target port
-q, --quiet                          简化输出 Suppress progress output

--read-only                          将容器的根文件系统挂载为只读 Mount the container's root filesystem as read only 

--replicas uint                      Number of tasks
--reserve-cpu decimal                Reserve CPUs
--reserve-memory bytes               Reserve Memory
--restart-condition string           Restart when condition is met ("none"|"on-failure"|"any")
--restart-delay duration             Delay between restart attempts (ns|us|ms|s|m|h)
--restart-max-attempts uint          最大重启次数 Maximum number of restarts before giving up

--restart-window duration            Window used to evaluate the restart policy (ns|us|ms|s|m|h)
--rollback                           回滚到之前的规范Rollback to previous specification

--rollback-delay duration            Delay between task rollbacks (ns|us|ms|s|m|h)
                                            任务回滚之间的延迟(ns | us | ms | s | m | h)
--rollback-failure-action string     Action on rollback failure ("pause"|"continue")
                                            回滚失败的操作(“暂停”|“继续”)
--rollback-max-failure-ratio float   回滚失败率 Failure rate to tolerate during a rollback
                                     在回滚期间容忍的故障率,指定为介于0和1之间的浮点数。例如,给定5个任务,故障率.2会容忍一个任务无法回滚。0的值的实例没有故障被容忍,而值1实例的任何数量的故障容忍
--rollback-monitor duration           每次任务回滚后监视失败的持续时间(ns | us | ms | s | m | h)
--rollback-order string              回滚顺序(“start-first”|“stop-first”)
--rollback-parallelism uint          同时回滚的最大任务数(0表示一次回滚)

--secret-add secret                  添加或更新服务上的密钥 secret
--secret-rm list                     删除一个密钥 secret


--stop-grace-period duration         在强制杀死容器等待的时间(ns | us | ms | s | m | h)
--stop-signal string                 发出信号停止容器

-t, --tty                                Allocate a pseudo-TTY
--update-delay duration              每个容器更新间隔时间 (ns|us|ms|s|m|h)
--update-failure-action string       更新失败的操作(pause暂停|continue继续 |rollback回滚)

--update-max-failure-ratio float     更新期间容忍的失败率Failure rate to tolerate during an update


--update-monitor duration            每次更新后监控失败的持续时间 Duration after each task update to monitor for failure (ns|us|ms|s|m|h)

--update-order string                Update order ("start-first"|"stop-first")
--update-parallelism uint            同时更新的最大任务数(0表示一次更新所有任务)

-u, --user string                      Username or UID (format: <name|uid>[:<group|gid>])
--with-registry-auth                   将registry authentication详细信息发送给swarm代理 

-w, --workdir string                     定义容器内的workdir