Docker run命令怎樣限制資源

小樊
81
2024-10-29 04:07:31

在Docker中,您可以使用--cpus--memory--memory-swap選項(xiàng)來限制容器的資源

  1. --cpus: 用于限制容器可以使用的CPU核心數(shù)量。例如,如果您希望容器僅使用一個(gè)CPU核心,可以使用以下命令:
docker run --cpus="1" <image_name>
  1. --memory: 用于限制容器可以使用的內(nèi)存量。例如,如果您希望容器使用256MB內(nèi)存,可以使用以下命令:
docker run --memory="256m" <image_name>
  1. --memory-swap: 用于限制容器可以使用的總內(nèi)存量(包括內(nèi)存和交換空間)。例如,如果您希望容器使用512MB內(nèi)存和1GB交換空間,可以使用以下命令:
docker run --memory="512m" --memory-swap="1g" <image_name>

請(qǐng)注意,這些選項(xiàng)之間存在優(yōu)先級(jí)關(guān)系。--memory是最優(yōu)先考慮的,其次是--memory-swap,最后是--cpus。因此,如果同時(shí)設(shè)置了這些選項(xiàng),它們將按此順序應(yīng)用。

此外,您還可以使用--cpus-period--cpus-quota選項(xiàng)更精細(xì)地控制容器可以使用的CPU時(shí)間。--cpus-period用于設(shè)置CPU時(shí)間分配的時(shí)間周期(以納秒為單位),而--cpus-quota用于設(shè)置容器在每個(gè)周期內(nèi)可以使用的CPU時(shí)間(以納秒為單位)。例如,如果您希望容器每100ms使用1個(gè)CPU核心,可以使用以下命令:

docker run --cpus-period="100000000" --cpus-quota="1000000" <image_name>

這將使容器在每100ms內(nèi)使用1個(gè)CPU核心,持續(xù)1秒(1000000納秒)。

0