網(wǎng)絡(luò)推廣文案案例鄭州網(wǎng)站seo優(yōu)化公司
在服務(wù)器中使用 docker 時,如果不對 docker 的可調(diào)用內(nèi)存進(jìn)行限制,當(dāng) docker 內(nèi)的程序出現(xiàn)不可預(yù)測的問題時,就很有可能因為內(nèi)存爆炸導(dǎo)致服務(wù)器主機(jī)的癱瘓。而對 docker 進(jìn)行限制后,可以將癱瘓范圍控制在 docker 內(nèi)。
因此,本文將介紹使用 docker 進(jìn)行容器內(nèi)存限制的方法。
容器內(nèi)存限制
使用 docker 進(jìn)行容器內(nèi)存限制有兩種方法,一種是在啟動時對容器內(nèi)存進(jìn)行限制;另一種是容器啟動后對容器內(nèi)存進(jìn)行限制。
(1)啟動時進(jìn)行限制
在啟動時,通過命令
docker run ... -m 40G ...
中的 -m 40G
部分限制開啟容器的可調(diào)用內(nèi)存。此處限制容器可調(diào)用內(nèi)存上限為 40 G。
(2)啟動后進(jìn)行限制
已經(jīng)啟動一個容器后,可以使用
docker update -m 40G {container_id/container_name}
開啟容器的內(nèi)存限制。其中,-m 40G
部分限制了可調(diào)用內(nèi)存上限為 40 G,后面 {container_id/container_name}
表示容器 ID 或者容器名。
限制情況查看
完成限制后,可以在容器內(nèi)或主機(jī)內(nèi)查看限制情況。
(1)在主機(jī)內(nèi)查看
在主機(jī)內(nèi),只需要通過命令
docker stats {container_id/container_name}
即可查看對容器的限制情況,如下圖所示。
(2) 在容器內(nèi)查看
在容器內(nèi),通過命令
cat /sys/fs/cgroup/memory/memory.limit_in_bytes
即可查看容器的內(nèi)存限制,如下圖所示。單位為 Byte。