首页 > 系统相关 >Docker之CPU和内存磁盘设置(八)

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

时间:2024-03-07 22:44:59浏览次数:28  
标签:容器 CPU 内存 设置 Docker docker

前言

  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/

  

标签:容器,CPU,内存,设置,Docker,docker
From: https://www.cnblogs.com/zrl66/p/18059917

相关文章

  • docker commit命令,本地镜像生成
    1.本地镜像生成dockercommit-m"commitInfo"-a="authorName"containerId新创建的目标镜像名:[标签名]  镜像的提交,可以让我们不断去叠加镜像: https://www.bilibili.com/video/BV1gr4y1U7CY?p=25&spm_id_from=pageDriver&vd_source=7ce721b64f52f392bdafe83543918639......
  • Docker搭建Redis集群
    一、创建Redis网络dockernetworklsdockernetworkcreateredis--subnet192.168.100.0/24dockernetworkinspectredis二、创建Redis配置文件forportin$(seq16);\do\mkdir-p/docker-volume/redis-cluster/node-${port}/conftouch/docker-volume/redis-c......
  • docker镜像分层概念
          ......
  • 进程间通信-POSIX 共享内存
    POSIX共享内存POSIX共享内存是一种在Linux系统上使用的共享内存机制,它允许多个进程可以访问同一个内存区域,从而实现进程间的数据共享。共享内存是可用IPC机制中最快的,使用共享内存不必频繁拷贝数据。但也需要注意,由于共享内存段中的数据可以被多个进程同时访问,因此需要在程序......
  • docker https 的私有 registry 搭建与测试
     1.registry服务器上的配置#1.生成自签名证书mkdir-pcertsopensslreq-newkeyrsa:4096-nodes-sha256-keyoutcerts/domain.key-x509-days36500-outcerts/domain.crt#一路回车,等到CommonName(eg,yournameoryourserver'shostname)[]:时输入域......
  • Docker之Window图形界面(七)
    前言前面介绍docker基本都是以控制台命令行为主,但是对于不太熟悉命令行的人来说,确实有点麻烦。再者控制台很多配置虽然能够配置,对于我们长期使用图形界面开发者来看,还是有界面比较容器上手。总的来说,Docker在Windows图形界面上的优势在于提供了直观、便捷和高效的管理和......
  • CPU可视化:开启计算机智慧之源的新篇章
    在数字化飞速发展的今天,中央处理器(CPU)作为计算机的心脏,其复杂度和重要性不言而喻。 中央处理器,这个小小的芯片,却承载着计算机运行的所有指令和数据处理任务。它的内部构造复杂而精密,每一个晶体管、每一个电路都像是精心编织的密码,共同构成了计算机的智慧之源。 然而对于大多......
  • Docker使用docker-compose.yml文件(六)
    前言前面介绍的都是单个容器部署,对于多容器部署也是一个个部署。这里Docker开发了docker-compose.yml。它是一个YAML格式的文件,用于定义和运行多容器的Docker应用程序。它允许你使用单个命令来启动、停止和重启应用程序,以及管理应用程序依赖的服务。一、配置yml文件versio......
  • docker部署监控Prometheus+Grafana
    目录一、Prometheus简介二、Prometheus基本原理三、Prometheus架构图四、Prometheus特性五、Prometheus组件六、Prometheus服务发现七、部署环境八、部署主机九、部署Prometheus1、安装docker2、启动docker并设置开机自启3、下载镜像包4、创建prometheus挂载目录5、创建prometheus......
  • ARM平台实现Docker容器技术
    什么是Docker?(1)Docker的架构 Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构......