日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Docker容器的资源使用限制

發(fā)布時(shí)間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker容器的资源使用限制 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

如何設(shè)置Docker容器的CPU和內(nèi)存使用限制

容器布署后數(shù),每個(gè)容器占用資源數(shù)不同,當(dāng)資源不夠用時(shí),互相影響,docker提供上資源使用限制功能

  • 查看docker 容器內(nèi)存及CPU使用命令
  • docker stats

    CONTAINER ? ? ? ? ? CPU % ? ? ? ? ? ? ? MEM USAGE / LIMIT ? ? ? MEM % ? ? ? ? ? ? ? NET I/O ? ? ? ? ? ? BLOCK I/O ? ? ? ? ? PIDS c7bdcdc77786 ? ? ? ?7.04% ? ? ? ? ? ? ? 1.212 GiB / 7.638 GiB ? 15.87% ? ? ? ? ? ? ?0 B / 0 B ? ? ? ? ? 8.08 MB / 372 MB ? ?183 da75d82bfa9c ? ? ? ?7.21% ? ? ? ? ? ? ? 1.5 GiB / 7.638 GiB ? ? 19.64% ? ? ? ? ? ? ?0 B / 0 B ? ? ? ? ? 9.86 MB / 372 MB ? ?184 4769f05b983c ? ? ? ?7.66% ? ? ? ? ? ? ? 1.225 GiB / 7.638 GiB ? 16.04% ? ? ? ? ? ? ?0 B / 0 B ? ? ? ? ? 13.6 MB / 372 MB ? ?187

    . 通過(guò)docker run來(lái)限制Docker容器資源
    我們可以使用docker run命令直接設(shè)置資源限制。這是一個(gè)簡(jiǎn)單的辦法。但是,該限制于只適用于映像的一次特定執(zhí)行任務(wù)

    2.1 Memory 內(nèi)存限制
    例如,讓我們將容器可以使用的內(nèi)存限制為512mb

    docker run -m 512m nginx


    我們還可以設(shè)置一個(gè)軟限制或者叫保留,當(dāng)docker檢測(cè)到主機(jī)內(nèi)存不足時(shí)激活:

    docker run -m 512m --memory-reservation=256m nginx

    2.2 CPU 限制
    默認(rèn)情況下,訪問(wèn)主機(jī)的CPU是無(wú)限制的,我們可以使用CPUs參數(shù)設(shè)置cpu限制。例如,讓我們約束容器最多使用兩個(gè)cpu:

    docker run --cpus=2 nginx


    我們還可以指定CPU分配的優(yōu)先級(jí)。默認(rèn)值是1024,數(shù)字越高優(yōu)先級(jí)越高:

    docker run --cpus=2 --cpu-shares=2000 nginx


    與內(nèi)存保留,當(dāng)計(jì)算能力不足且需要在競(jìng)爭(zhēng)進(jìn)程之間進(jìn)行分配時(shí),CPU共享起主要作用

    使用docker-compose文件來(lái)設(shè)置容器資源
    我們可以使用docker-compose文件來(lái)實(shí)現(xiàn)類似的結(jié)果。請(qǐng)注意,不同版本的docker-compose的格式設(shè)置上是不同的

    3.1 docker swarm Versions 3 以上的版本
    讓我們給Nginx的服務(wù)限制是一半的CPU和512m的內(nèi)存,保留四分之一的CPU和128m的內(nèi)存。我們需要在我們的服務(wù)配置中創(chuàng)建“部署”和“資源”分段:

    services:service:image: nginxdeploy:resources:limits:cpus: 0.50memory: 512Mreservations:memory: 128M

    注:reservations沒(méi)有設(shè)置cpus的命令
    一般情況下容器的cpus使用被限制在一半,內(nèi)存為512MB ,如果服務(wù)器資源緊張的時(shí)候,cpus占用變?yōu)?/4,內(nèi)存占用被限制為128MB

    如果要使用上述docker-compose.yaml部署應(yīng)用我們需要使用docker stack命令 , 部署應(yīng)用到swarm中

    docker stack deploy --compose-file docker-compose.yml bael_stack

    3.2 docker-compose Version 2 配置方式
    在舊版本的docker-compose中,我們可以將資源限制放在與服務(wù)的主要屬性相同的級(jí)別上。它們的名字也略有不同:

    service:image: nginxmem_limit: 512mmem_reservation: 128Mcpus: 0.5ports:- "80:80"

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Docker容器的资源使用限制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。