中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker?Compose中限制容器的CPU和內存使用的方法

發布時間:2023-08-05 09:28:27 來源:億速云 閱讀:180 作者:栢白 欄目:開發技術

本篇文章和大家了解一下Docker Compose中限制容器的CPU和內存使用的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。


正文

最近我在使用開源統計Umami過程中,發現CPU和內存經常占滿,導致其它服務都不能正常使用。Umami我使用的docker-compose進行部署,于是打算使用docker-compose限制下容器的CPU和內存使用來解決這個問題。

Docker?Compose中限制容器的CPU和內存使用的方法

吐槽

于是我就去搜索相關文檔尋找限制容器資源使用率的方法,給我的感覺是Docker官方在設計docker-compose的時候有點混亂。

  • 首先是docker-compose的版本分1.x2.x不同版本特性不一樣

  • docker-compose.yaml里面的version又分多個版本(1.x-3.x),不同的版本特性不一樣

  • 官方似乎沒有明確的文檔指名各版本的區別,而且升級版本的速度還賊快

docker-compose限制CPU和內存

我直接貼出Umami的完整docker-compose.yaml內容:

---
version: '3'
services:
  umami:
    image: docker.umami.dev/umami-software/umami:mysql-latest
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 500M
        reservations:
          cpus: '0.25'
          memory: 200M
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: mysql://umami:xxx@127.0.0.1:3306/umami
      DATABASE_TYPE: mysql
      HASH_SALT: replace-me-with-a-random-string
    restart: always
    network_mode: "host"

限制指令為deploy.resources.limits這部分,注意節點位置,上面這部分限制的含義是:

Umami服務的CPU使用被限制在最多50%的CPU能力,內存使用被限制在最多500MB。同時,這個服務至少需要25%的CPU和200MB的內存。

我們啟動的時候命令需要發生一些變化,否則不會生效:

#原本的啟動命令為
docker-compse up -d
# 需要添加一個參數--compatibility表示以兼容模式來運行
docker-compose --compatibility up -d

這里的關鍵在于添加--compatibility參數以兼容模式來運行,否則限制不會生效。

驗證

通過上述方法限制容器CPU和內存后,再繼續使用命令:docker stats查看容器資源使用情況:

Docker?Compose中限制容器的CPU和內存使用的方法

可以看到umami這個容器被成功限制為500MB內存。

總結

  • docker-compose的版本設計非常混亂,且沒找到明確的官方特性對比說明

  • docker-compose.yaml限制內存需要添加deploy.resources.limits節點

  • docker-compose命令啟動的時候需要添加--compatibility參數以兼容模式來運行,否則限制不會生效

以上就是Docker Compose中限制容器的CPU和內存使用的方法的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌海市| 凤城市| 博客| 和龙市| 孙吴县| 武定县| 林芝县| 太保市| 郁南县| 水富县| 博白县| 香格里拉县| 泉州市| 罗田县| 黎川县| 荥阳市| 聊城市| 连云港市| 肇庆市| 自贡市| 武穴市| 湖北省| 长宁区| 津南区| 合阳县| 长乐市| 南开区| 綦江县| 承德市| 工布江达县| 师宗县| 赤峰市| 达州市| 新疆| 新野县| 天祝| 清镇市| 原平市| 儋州市| 宝鸡市| 嵩明县|