在Docker中,您可以使用--cpus
、--memory
和--memory-swap
選項來限制容器的資源
--cpus
: 用于限制容器可以使用的CPU核心數量。例如,如果您希望容器僅使用一個CPU核心,可以使用以下命令:docker run --cpus="1" <image_name>
--memory
: 用于限制容器可以使用的內存量。例如,如果您希望容器使用256MB內存,可以使用以下命令:docker run --memory="256m" <image_name>
--memory-swap
: 用于限制容器可以使用的總內存量(包括內存和交換空間)。例如,如果您希望容器使用512MB內存和1GB交換空間,可以使用以下命令:docker run --memory="512m" --memory-swap="1g" <image_name>
請注意,這些選項之間存在優先級關系。--memory
是最優先考慮的,其次是--memory-swap
,最后是--cpus
。因此,如果同時設置了這些選項,它們將按此順序應用。
此外,您還可以使用--cpus-period
和--cpus-quota
選項更精細地控制容器可以使用的CPU時間。--cpus-period
用于設置CPU時間分配的時間周期(以納秒為單位),而--cpus-quota
用于設置容器在每個周期內可以使用的CPU時間(以納秒為單位)。例如,如果您希望容器每100ms使用1個CPU核心,可以使用以下命令:
docker run --cpus-period="100000000" --cpus-quota="1000000" <image_name>
這將使容器在每100ms內使用1個CPU核心,持續1秒(1000000納秒)。