前言
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