docker?update?命令及用法詳解
docker update
更新一個(gè)或多個(gè)容器的配置。官方文檔
用法
$ docker update [OPTIONS] CONTAINER [CONTAINER...]
請(qǐng)參閱選項(xiàng)部分 OPTIONS
,了解此命令可用的概述。
描述
該 docker update
命令動(dòng)態(tài)更新容器配置。您可以使用此命令來(lái)防止容器消耗 Docker 主機(jī)的過(guò)多資源。使用單個(gè)命令,您可以對(duì)單個(gè)容器或多個(gè)容器進(jìn)行限制。要指定多個(gè)容器,請(qǐng)?zhí)峁┮钥崭穹指舻娜萜髅Q或 ID 列表。
除了該 --kernel-memory
選項(xiàng)之外,您可以在正在運(yùn)行或已停止的容器上指定這些選項(xiàng)。在早于 4.6 的內(nèi)核版本上,您只能 --kernel-memory
在已停止的容器或已初始化內(nèi)核內(nèi)存的正在運(yùn)行的容器上進(jìn)行更新。
警告
Windows 容器不支持
docker update
和命令。docker container update
有關(guān)此命令的使用示例,請(qǐng)參閱下面的示例部分。
選項(xiàng)
名稱、簡(jiǎn)寫 | 默認(rèn) | 描述 |
---|---|---|
--blkio-weight | 塊 IO(相對(duì)權(quán)重),介于 10 到 1000 之間,或 0 禁用(默認(rèn) 0) | |
--cpu-period | 限制CPU CFS(完全公平調(diào)度程序)周期 | |
--cpu-quota | 限制CPU CFS(完全公平調(diào)度程序)配額 | |
--cpu-rt-period | 限制CPU實(shí)時(shí)周期(以微秒為單位) | |
--cpu-rt-runtime | 將CPU實(shí)時(shí)運(yùn)行時(shí)間限制在微秒級(jí) | |
--cpu-shares,-c | CPU 份額(相對(duì)權(quán)重) | |
--cpus | CPU數(shù)量 | |
--cpuset-cpus | 允許執(zhí)行的 CPU (0-3, 0,1) | |
--cpuset-mems | 允許執(zhí)行的 MEM (0-3, 0,1) | |
--memory,-m | 內(nèi)存限制 | |
--memory-reservation | 內(nèi)存軟限制 | |
--memory-swap | 交換限制等于內(nèi)存加交換:-1 啟用無(wú)限制交換 | |
--pids-limit | API 1.40+ 調(diào)整容器 pid 限制(設(shè)置 -1 表示無(wú)限制) | |
--restart | 容器退出時(shí)應(yīng)用的重新啟動(dòng)策略 |
例子
以下部分說(shuō)明了使用此命令的方法。
更新容器的 cpu-shares (–cpu-shares)
要將容器的 cpu 份額限制為 512,請(qǐng)首先確定容器名稱或 ID。您可以使用 docker ps
來(lái)查找這些值。您還可以使用從命令返回的 ID docker run
。然后,執(zhí)行以下操作:
$ docker update --cpu-shares 512 abebf7571666
使用 cpu-shares 和內(nèi)存更新容器 (-m, --memory)
要更新多個(gè)容器的多個(gè)資源配置:
$ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse
更新容器的內(nèi)核內(nèi)存約束(–kernel-memory)
您可以使用該選項(xiàng)更新容器的內(nèi)核內(nèi)存限制 --kernel-memory
。在早于 4.6 的內(nèi)核版本上,僅當(dāng)容器以 --kernel-memory
. 如果容器已啟動(dòng)*,* --kernel-memory
則需要在更新內(nèi)核內(nèi)存之前停止容器。
筆記
該
--kernel-memory
選項(xiàng)自 Docker 20.10 起已被棄用。
例如,如果您使用以下命令啟動(dòng)了一個(gè)容器:
$ docker run -dit --name test --kernel-memory 50M ubuntu bash
您可以在容器運(yùn)行時(shí)更新內(nèi)核內(nèi)存:
$ docker update --kernel-memory 80M test
如果您啟動(dòng)了一個(gè)沒(méi)有初始化內(nèi)核內(nèi)存的容器:
$ docker run -dit --name test2 --memory 300M ubuntu bash
更新正在運(yùn)行的容器的內(nèi)核內(nèi)存 test2
將失敗。您需要在更新設(shè)置之前停止容器 --kernel-memory
。下次啟動(dòng)時(shí),容器將使用新值。
比(含)4.6更新的內(nèi)核版本沒(méi)有此限制,您可以使用 --kernel-memory
與其他選項(xiàng)相同的方式。
更新容器的重啟策略(–restart)
您可以更改正在運(yùn)行的容器的容器重啟策略。 docker update
新的重啟策略在容器上運(yùn)行后立即生效。
要更新一個(gè)或多個(gè)容器的重啟策略:
$ docker update --restart=on-failure:3 abebf7571666 hopeful_morse
請(qǐng)注意,如果容器使用“–rm”標(biāo)志啟動(dòng),則無(wú)法更新其重啟策略。對(duì)于容器來(lái)說(shuō) 和 是互斥的 AutoRemove
。 RestartPolicy
到此這篇關(guān)于docker update 命令的文章就介紹到這了,更多相關(guān)docker update 命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 部署 Prometheus的安裝詳細(xì)教程
這篇文章主要介紹了Docker 部署 Prometheus及安裝方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08詳解如何使用Docker部署Django+MySQL8開(kāi)發(fā)環(huán)境
這篇文章主要介紹了詳解如何使用Docker部署Django+MySQL8開(kāi)發(fā)環(huán)境,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Docker 部署 pSQL 服務(wù)器的詳細(xì)教程
本文詳細(xì)介紹了如何使用Edu郵箱申請(qǐng)Azure訂閱并開(kāi)通免費(fèi)VPS,以及在Ubuntu VPS上通過(guò)Docker部署pSQL服務(wù)器的方法,感興趣的朋友跟隨小編一起看看吧2025-02-02如何調(diào)整Docker中nginx的日志級(jí)別詳解
這篇文章主要給大家介紹了關(guān)于如何調(diào)整Docker中nginx的日志級(jí)別的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-09-09Skywalking?Docker單機(jī)環(huán)境搭建過(guò)程
這篇文章主要介紹了Skywalking?Docker單機(jī)環(huán)境搭建,本次搭建是基于MySQL進(jìn)行持久化,因此需要提前準(zhǔn)備好一個(gè)MySQL容器,需要的朋友可以參考下2024-02-02