?
This document uses PHP Chinese website manual Release
更新服務
docker service update [OPTIONS] SERVICE
名字,簡寫 | 默認 | 描述 |
---|---|---|
--args | 服務命令參數(shù) | |
--config-add | 添加或更新服務上的配置文件 | |
--config-RM | 刪除配置文件 | |
--constraint-add | 添加或更新展示位置約束 | |
--constraint-RM | 刪除約束 | |
--container-label-add | 添加或更新容器標簽 | |
--container-label-rm | 用鑰匙取出容器標簽 | |
--credential-spec | 托管服務帳戶的憑證規(guī)范(僅限Windows) | |
--detach,-d | 真 | 立即退出,而不是等待服務收斂 |
--dns-add | 添加或更新自定義DNS服務器 | |
--dns-option-add | 添加或更新DNS選項 | |
--dns-option-rm | 刪除一個DNS選項 | |
--dns-rm | 刪除自定義的DNS服務器 | |
--dns-search-add | 添加或更新自定義DNS搜索域 | |
--dns-search-rm | 刪除一個DNS搜索域 | |
--endpoint-mode | 端點模式(vip或dnsrr) | |
--entrypoint | 覆蓋圖像的默認入口點 | |
--env-add | 添加或更新環(huán)境變量 | |
--env-RM | 刪除一個環(huán)境變量 | |
--force | 假 | 即使沒有更改需要,也強制更新 |
--group-add | 向容器添加一個附加的補充用戶組 | |
--group-RM | 從容器中刪除先前添加的補充用戶組 | |
--health-cmd | 運行以檢查運行狀況的命令 | |
--health-interval | 運行檢查之間的時間(ms | s | m | h) | |
--health-retries | 0 | 需要報告不健康的連續(xù)失敗 |
--health-retries | 在重新計數(shù)到不穩(wěn)定(ms | s | m | h)之前,容器初始化的開始時間段 | |
--health-timeout | 允許一次檢查運行的最長時間(ms | s | m | h) | |
--host加 | 添加或更新自定義主機到IP映射(主機:IP) | |
--host-RM | 刪除自定義的主機到IP映射(主機:IP) | |
--hostname | 容器主機名 | |
--image | 服務圖片標簽 | |
--label-add | 添加或更新服務標簽 | |
--label-RM | 用鑰匙去除標簽 | |
--limit-CPU | 限制CPU | |
--limit-memory | 0 | 限制記憶 |
--log-driver | 記錄驅動程序的服務 | |
--log-OPT | 記錄驅動程序選項 | |
--mount-add | 添加或更新服務上的裝載 | |
--mount-RM | 通過目標路徑移除一個安裝 | |
--network加 | 添加一個網(wǎng)絡 | |
--network-RM | 刪除網(wǎng)絡 | |
--no-healthcheck | 假 | 禁用任何容器指定的HEALTHCHECK |
--no-resolve-image | 假 | 不要查詢注冊表來解析圖像摘要和支持的平臺 |
--placement-PREF-ADD | 添加展示位置首選項 | |
--placement-PREF-RM | 刪除展示位置偏好設置 | |
--publish相加 | 添加或更新已發(fā)布的端口 | |
--publish-RM | 通過目標端口刪除發(fā)布的端口 | |
--quiet,-q | 假 | 抑制進度輸出 |
--read-only | 假 | 將容器的根文件系統(tǒng)掛載為只讀 |
--replicas | 任務數(shù)量 | |
--reserve-CPU | 預留CPU | |
--reserve-memory | 0 | 保留內存 |
--restart-condition | 條件滿足時重新啟動(“none”|“on-failure”|“any”) | |
--restart-delay | 重啟嘗試之間的延遲(ns | us | ms | s | m | h) | |
--restart-max-attempts | 放棄前的最大重啟次數(shù) | |
--restart-window | 用于評估重新啟動策略的窗口(ns | us | ms | s | m | h) | |
--rollback | 假 | 回退到先前的規(guī)范 |
--rollback-delay | 0 | 任務回滾之間的延遲(ns | us | ms | s | m | h) |
--rollback-failure-action | 回滾失敗的操作(“暫停”|“繼續(xù)”) | |
--rollback-max-failure-ratio | 0 | 在回滾期間容忍的失敗率 |
--rollback-monitor | 0 | 每個任務回滾后監(jiān)視失敗的持續(xù)時間(ns | us | ms | s | m | h) |
--rollback-order | 回滾順序(“start-first”|“stop-first”) | |
--rollback-parallelism | 0 | 同時回滾的任務的最大數(shù)量(0一次全部回滾) |
--secret-add | 添加或更新服務的秘密 | |
--secret-RM | 去掉一個秘密 | |
--stop-grace-period | 強制殺死一個容器之前的等待時間(ns | us | ms | s | m | h) | |
--stop-signal | 停止容器的信號 | |
--tty, -t | 假 | 分配一個偽TTY |
--update-delay | 0 | 更新之間的延遲(ns | us | ms | s | m | h) |
--update-failure-action | 更新失敗的操作(“暫?!眧“繼續(xù)”|“回滾”) | |
--update-max-failure-ratio | 0 | 更新期間容錯的失敗率 |
--update-monitor | 0 | (ns | us | ms | s | m | h)每個任務更新后的持續(xù)時間 |
--update-order | 更新順序(“start-first”|“stop-first”) | |
--update-parallelism | 0 | 同時更新的最大任務數(shù)(0個一次全部更新) |
--user,-u | 用戶名或UID(格式:<名稱| uid>:<組| gid>) | |
--with-registry-auth | 假 | 向注冊代理發(fā)送注冊表認證詳細信息 |
--workdir,-w | 容器內的工作目錄 |
命令 | 描述 |
---|---|
docker 服務 | 管理服務 |
命令 | 描述 |
---|---|
docker 服務創(chuàng)建 | 創(chuàng)建一項新服務 |
docker 服務檢查 | 顯示一項或多項服務的詳細信息 |
docker 服務日志 | 獲取服務或任務的日志 |
docker 服務ls | 列出服務 |
docker 服務ps | 列出一項或多項服務的任務 |
docker 服務rm | 刪除一項或多項服務 |
docker 服務規(guī)模 | 擴展一個或多個復制服務 |
docker 服務更新 | 更新服務 |
按照指定的參數(shù)描述更新服務。該命令必須以管理器節(jié)點為目標運行。參數(shù)與docker service create
。相同。請參閱描述以獲取更多信息。
通常,更新服務只會導致服務的任務被替換為新服務,如果對服務的更改需要重新創(chuàng)建任務才能生效。例如,只有更改--update-parallelism
設置才會重新創(chuàng)建任務,因為單個任務不受此設置的影響。但是,--force
標志將導致任務被重新創(chuàng)建。這可以用來執(zhí)行滾動重啟,而不會對服務參數(shù)進行任何更改。
$ docker service update --limit-cpu 2 redis
$ docker service update --force --update-parallelism 1 --update-delay 30s redis
在這個例子中,--force
標志導致服務的任務被關閉并被新的替換,即使其他參數(shù)通常都不會導致這種情況發(fā)生。--update-parallelism 1
設置確保一次只替換一個任務(這是默認行為)。--update-delay 30s
設置在任務之間引入了30秒的延遲,以便滾動重啟逐漸發(fā)生。
使用--mount-add
或--mount-rm
選項添加或刪除服務的綁定掛載或volume。
以下示例創(chuàng)建一個將test-data
volume掛載到的服務/somewhere
。下一步更新服務以將other-volume
volume掛接到/somewhere-else
volume,最后一步卸載/somewhere
掛載點,從而有效地移除test-data
volume。每個命令都會返回服務名稱。
--mount-add
標志采用了相同的參數(shù)--mount
上的標志service create
。有關詳細信息,請參閱參考中的volume和綁定掛載部分service create
。
--mount-rm
標志采用target
安裝路徑。
$ 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
使用--rollback
選項恢復到服務的前一個版本。
這將使服務恢復到最近一次配置之前的配置。docker service update
命令。
下面的示例將服務的副本數(shù)量從4更新到5,然后回滾到以前的配置。
$ docker service update --replicas=5 web web $ docker service ls ID NAME MODE REPLICAS IMAGE 80bvrzp6vxf3 web replicated 0/5 nginx:alpine
回滾web
服務...
$ docker service update --rollback web web $ docker service ls ID NAME MODE REPLICAS IMAGE 80bvrzp6vxf3 web replicated 0/4 nginx:alpine
其他選項也可以結合使用--rollback
,例如,--update-delay 0s
執(zhí)行任務之間沒有延遲的回滾:
$ docker service update \ --rollback \ --update-delay 0s web web
服務也可以設置為在更新失敗時自動回滾到以前的版本。要設置自動回滾服務,請使用--update-failure-action=rollback
。如果成功更新失敗的部分任務超過了給定的值,將會觸發(fā)回滾--update-max-failure-ratio
。
恢復操作的速率,并行性和其他參數(shù)由通過以下標志傳遞的值確定:
--rollback-delay
--rollback-failure-action
--rollback-max-failure-ratio
--rollback-monitor
--rollback-parallelism
例如,設置的服務--update-parallelism 1 --rollback-parallelism 3
將在正常更新期間一次更新一個任務,但在回滾期間,一次會執(zhí)行3個任務。這些回滾參數(shù)在自動回滾和使用手動啟動--rollback
的回滾期間都被重視。
使用--secret-add
或--secret-rm
選項添加或刪除服務的機密。
以下示例添加一個名為ssh-2
并刪除的秘密ssh-1
:
$ docker service update \ --secret-add source=ssh-2,target=ssh-2 \ --secret-rm ssh-1 \ myservice
service update
支持使用模板的一些標志。請參閱service create
參考。