返回顶部
首页 > 资讯 > 服务器 >Docker Compose中如何限制容器的CPU和内存使用
  • 823
分享到

Docker Compose中如何限制容器的CPU和内存使用

Docker Compose限制CPUDocker Compose 2023-05-20 09:05:51 823人浏览 安东尼
摘要

目录正文吐槽Docker-compose限制CPU和内存验证总结正文 最近我在使用开源统计Umami过程中,发现CPU和内存经常占满,导致其它服务都不能正常使用。Umami我使用的d

正文

最近我在使用开源统计Umami过程中,发现CPU和内存经常占满,导致其它服务都不能正常使用。Umami我使用的docker-compose进行部署,于是打算使用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查看容器资源使用情况:

可以看到umami这个容器被成功限制为500MB内存。

总结

  • docker-compose的版本设计非常混乱,且没找到明确的官方特性对比说明
  • docker-compose.yaml限制内存需要添加deploy.resources.limits节点
  • docker-compose命令启动的时候需要添加--compatibility参数以兼容模式来运行,否则限制不会生效

以上就是Docker Compose中限制容器的CPU和内存使用?的详细内容,更多关于Docker Compose限制CPU的资料请关注编程网其它相关文章!

--结束END--

本文标题: Docker Compose中如何限制容器的CPU和内存使用

本文链接: https://lsjlt.com/news/214285.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker Compose中如何限制容器的CPU和内存使用
    目录正文吐槽docker-compose限制CPU和内存验证总结正文 最近我在使用开源统计Umami过程中,发现CPU和内存经常占满,导致其它服务都不能正常使用。Umami我使用的d...
    99+
    2023-05-20
    Docker Compose限制CPU Docker Compose
  • python如何限制CPU和内存使用量
    这篇文章主要介绍了python如何限制CPU和内存使用量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。限制「CPU」和内存使用量如果不是想优化程序对内存或 CPU 的使用率,...
    99+
    2023-06-27
  • Docker怎么限制容器可用的内存
    小编给大家分享一下Docker怎么限制容器可用的内存,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!为什么要限制容器对内存的使用?限制容器不能过多的使用主机的内存是非常重要的。对于 linux 主机来说,一旦内核检测到没有足...
    99+
    2023-06-07
  • python如何给内存和cpu使用量设置限制
    目录给内存和cpu使用量设置限制限制Python进程cpu使用时间的样例如下要限制内存的使用可以使用如下函数查询windows的cpu、内存使用率给内存和cpu使用量设置限制 在li...
    99+
    2024-04-02
  • python怎样限制CPU和内存使用量
    小编给大家分享一下python怎样限制CPU和内存使用量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!限制「CPU」和内存使用量如果不是想优化程序对内存或 CPU...
    99+
    2023-06-27
  • python怎么给内存和cpu使用量设置限制
    本篇内容介绍了“python怎么给内存和cpu使用量设置限制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!给内存和cpu使用量设置限制在li...
    99+
    2023-06-30
  • 如何在Linux上通过cgroup限制一个进程使用CPU和内存
    Cgroup(Control Group)是 Linux 内核的一个功能,可以通过它来限制进程的 CPU 和内存占用。Cgroup 实现了对系统资源的细粒度控制和管理,可以将一组进程放入同一个 Cgroup 中,并对该 Control Gr...
    99+
    2023-09-02
    linux ubuntu 服务器
  • Linux中如何使用cgroups限制cpu
    这篇文章主要讲解了“Linux中如何使用cgroups限制cpu”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中如何使用cgroups限制cpu”吧!cgroups 里,可以用 c...
    99+
    2023-06-13
  • 如何在redis中限制内存的使用大小
    如何在redis中限制内存的使用大小?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。记录一次生产环境问题排查过程:生产环境部署方式:nginx + uwsgi +...
    99+
    2023-06-15
  • 如何使用Docker Compose快速部署多容器服务
    小编给大家分享一下如何使用Docker Compose快速部署多容器服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 什么是Docker Compose前面我们使用 Docker 的时候,定义 Dockerf...
    99+
    2023-06-29
  • 如何在VirtualBox中限制虚拟机的内存使用
    在VirtualBox中限制虚拟机的内存使用可以通过以下步骤实现: 打开VirtualBox并选择要配置的虚拟机。 点击“设置”按钮,然后选择“系统”选项卡。 在“基本”选项卡下,找到“处理器”区域,然后将“内存大小”设置为所需的最大内存...
    99+
    2024-06-11
    virtualbox
  • 如何在VirtualBox中限制虚拟机的CPU使用率
    在VirtualBox中,您可以通过设置虚拟机的CPU限制来限制其使用率。以下是如何在VirtualBox中限制虚拟机的CPU使用率的步骤: 打开VirtualBox并选择要限制CPU使用率的虚拟机。 单击“设置”按钮以打开虚拟机的...
    99+
    2024-06-10
    virtualbox
  • 使用Docker Compose、Nginx和MariaDB实现PHP应用程序的容器化
    导语:随着容器化技术的快速发展,越来越多的开发者开始关注使用Docker来进行应用程序的部署和管理。本文将介绍如何使用Docker Compose、Nginx和MariaDB实现PHP应用程序的容器化,并给出具体的代码示例,帮助读者更好地理...
    99+
    2023-10-21
    Docker nginx mariadb
  • 使用Docker Compose、Nginx和MariaDB实现PHP应用程序的容器扩展
    随着容器技术的发展,越来越多的开发者开始使用Docker来构建和管理应用程序的环境。在这篇文章中,我们将以一个PHP应用程序为例,演示如何使用Docker Compose、Nginx和MariaDB来扩展容器化的环境。Docker Comp...
    99+
    2023-10-21
    nginx mariadb Docker Compose
  • 如何限制你的Python程序所能使用的内存
    这篇文章主要讲解了“如何限制你的Python程序所能使用的内存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何限制你的Python程序所能使用的内存”吧!如果程序开发不当,可能会出现占用过...
    99+
    2023-06-15
  • 如何使用docker更改容器内root密码
    这篇文章主要介绍如何使用docker更改容器内root密码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.在制作dockerfile的时候使用如下命令设置ssh密码RUN echo “root:...
    99+
    2023-06-14
  • 如何理解Netweaver工作进程的内存限制以及VS CloudFoundry应用的内存限制
    如何理解Netweaver工作进程的内存限制以及VS CloudFoundry应用的内存限制,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Netweaver一个会话进程能够...
    99+
    2023-06-04
  • 在 Linux 中如何限制Python程序所能使用的最大内存
    这篇文章主要讲解了“在 Linux 中如何限制Python程序所能使用的最大内存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在 Linux 中如何限制Py...
    99+
    2024-04-02
  • 如何使用shell统计CPU、内存、硬盘的使用率
    这篇文章主要介绍了如何使用shell统计CPU、内存、硬盘的使用率,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:#!/bin/bash#This script is...
    99+
    2023-06-09
  • 如何使用容器化和Docker实现DevOps
    这篇文章主要介绍“如何使用容器化和Docker实现DevOps”,在日常操作中,相信很多人在如何使用容器化和Docker实现DevOps问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用容器化和Docke...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作