Docker之CPU和内存磁盘设置(八)

news/发布时间2024/5/20 17:34:49

前言

  Docker基本掌握使用方式,但是在限制其资源方面还没有接触。本篇就简单介绍一下有关CPU、内存等配置。让每个容器的资源分配更加合理,也能够避免一些容器遇到内存泄漏,CPU过载等问题影响其他容器的正常运行。

一、配置文件

  Docker中,配置文件可以用来调整守护进程的行为,包括磁盘、内存和CPU等方面的设置。这些设置通常在Docker守护进程的配置文件中进行,该文件通常位于/etc/docker/daemon.json。如果该文件不存在,你可以手动创建它。

    

{  "default-runtime": "runc",  #默认运行runc,也可以使用其他kata-containers或crun"exec-opts": [  "native.cgroupdriver=systemd"  # systemd服务选项],  "live-restore": true,  # 保护守护进程重启时,避免中断运行的容器(但并不是全部功能都有效)"runtimes": {  # 运行时名称"runc": {  # docker默认运行"path": "/usr/local/bin/runc"},
  "kata":{ #kata-container运行
    "path": "/usr/bin/kata-runtime"  
  }},
"default-ulimits": [ # 默认Docker容器的默认资源限制{ "name": "nofile", "soft": 1024, # 软限制,超过则警告"hard": 2048 # 硬限制,直接报错中断} ], "log-driver": "json-file", # 日志"log-opts": { "max-size": "10m", "max-file": "3" }, "storage-driver": "overlay2", # docker推荐驱动"storage-opts": [ "overlay2.override_kernel_check=true" ], "resource-limits": { # 关于资源限制 "memory": { #内存1G"limit": "1g" }, "cpu": { #CPU "shares": 512, #CPU权重(shares)为512 "quota": 100000, #CPU配额(quota)为100,000微秒"period": 100000 #周期(period)为100,000微秒}, "disk": { "quota": "10g" # 磁盘10G} } }

   配置好之后,需要通过重启docker服务生效。

~]# sudo systemctl restart docker #重启
~]# sudo systemctl status docker  #查看信息

二、配置参数

  一些常用的参数。以下是你可以在Docker配置文件中设置的一些与磁盘、内存和CPU相关的选项:

磁盘
storage-driver:指定Docker使用的存储驱动。例如,overlay2是一个常用的选择。
data-root:设置Docker守护进程使用的根目录,用于存储镜像、容器和其他数据。
bip:指定Docker守护进程使用的桥接IP地址。这有助于控制Docker网络的IP范围。
内存
default-memory:设置容器的默认内存限制。
default-memory-swap:设置容器的默认内存加Swap的限制。
memory-swappiness:控制容器使用Swap空间的倾向性。
exec-memory-limit:设置容器执行内存限制的标志。
CPU
cpu-rt-runtime:设置容器实时调度的运行时间。
cpu-rt-period:设置容器实时调度的调度周期。
cpus:设置容器可以使用的CPU核心数。
cpuset-cpus:指定容器可以使用的CPU核心。
cpuset-mems:指定容器可以使用的内存节点。

   想了解具体配置,可去官网查看最新的配置。地址:https://docs.docker.com/config/containers/resource_constraints/

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/41288373.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

炸弹

题目描述样例 4 1 1 5 1 6 5 15 1532分析 虽然这题正解是tarjan,但我决定不用tarjan(实际上是我没想出来),很容易想到,对于每一个炸弹,我们看它是否能波及到下一 个炸弹,然后从下一个炸弹找它能波及到的炸弹,想一想实际上不是很复杂,用线性递推可以搞,每一个炸弹对每一个…

20-高级项目管理

项目组合主要是为实现战略目标而进行的多个项目。 项目集中的项目之间存在着关联关系,要统一考虑以实现更大利益。 项目,可以单独存在,也可以存在于项目组合和项目集中。 20.1 项目集管理 20.1.1 项目集管理标准(略) 20.1.2 项目集管理角色和职责 :项目集发起人、项目集指…

ETL与抖音数据同步,让数据流动无阻

在当今数字化时代,数据的价值日益凸显,企业需要从各种渠道获取有关用户行为、市场趋势和竞争对手活动的数据。作为一家专注于数据集成和转换的领先平台,ETLCloud为企业提供了强大的数据同步和转换功能。而与此同时,抖音作为一款热门的社交娱乐应用,拥有海量的用户和丰富的…

使用 SPL 高效实现 Flink SLS Connector 下推

在Flink消费SLS数据过程中会全量消费Logstore数据,对于分析不关注的行或列数据,同样会有网络和计算开销,基于此,阿里云Flink SLS Connector 进行了升级,支持通过配置SPL实现SLS数据源的行过滤、列裁剪等下推,在过滤场景下可以有效地减少了网络与计算开销。作者:潘伟龙(…

03_C++基本数据类型_复合类型

主要复合类型:引用和指针 1.引用 允许在一条语句中定义多个引用,其中每个引用标识符都必须以&开头。#include<iostream> using namespace std;int main() {int b;int &a = b;b = 6;cout << "a:" << a << endl;cout << &quo…

Amazon Bedrock 上的新一代 Anthropic 模型 Claude 3

如您所知,Amazon Bedrock 是利用基础模型 (FM) 构建生成式 AI 解决方案的最简单的途径,其中包括使用 Anthropic 的先进模型 Claude。而如今,新一代 Claude 模型已经到来。到目前为止,我已经制作了 3 个单独视频来介绍 Claude 3 的首次发布,但我还打算写一篇简短的相关博文…