【docker】docker资源管理

news2024/11/17 17:14:52

docker资源管理

docker cpu管理

Docker提供了多种方式来管理容器的CPU使用情况,包括以下几种方法:

  1. CPU限制:使用--cpus参数可以限制容器使用的CPU核心数。例如,docker run --cpus 2将限制容器使用2个CPU核心。
  2. CPU共享:使用--cpu-shares参数可以为容器分配CPU资源的相对份额。较高值的容器将获得更多的CPU时间。例如,docker run --cpu-shares 512将为容器分配512个CPU份额。

创建容器时可以使用选项 --cpu-shares
数值(该数值要为1024的倍数,1024代表一份,当个容器占用cpu的份额由自身分配的份数除于所有容器占用cpu的份数,就为该容器所占用cpu资源的百分比)进行分配

  1. CPU集合:使用--cpuset-cpus参数可以将容器限制在特定的CPU核心或CPU集合上运行。例如,docker run --cpuset-cpus 0,1将限制容器在CPU核心0和1上运行。
  2. CPU配额:使用--cpu-quota参数可以为容器设置CPU配额。例如,docker run --cpu-quota 50000将为容器设置每秒钟最多可以使用 50000 微秒的 CPU 时间。
  3. CPU周期:使用--cpu-period参数可以为容器设置CPU周期。例如,docker run --cpu-period 100000将为容器设置100,000微秒的CPU周期。

docker 内存管理

Docker有几种方式来管理容器的内存使用情况:

  1. 限制容器可以使用的内存量:可以使用--memory选项来限制容器可以使用的内存量。例如,可以使用--memory=1g选项将容器的内存限制为1GB。

  2. 内存交换限制:可以使用--memory-swap选项来设置容器可以使用的交换空间的限制。默认情况下,Docker会将--memory-swap设置为--memory的两倍。(非必要)

  3. 容器内存分配策略:Docker支持以下几种容器内存分配策略:

    • --memory-swappiness选项:可以设置容器对交换空间的使用程度。默认情况下,Docker将此选项设置为60。
    • --oom-kill-disable选项:可以禁止Docker在内存不足时杀死容器。默认情况下,此选项是禁用的。
    • --oom-score-adj选项:可以设置容器的OOM分数调整值。较低的OOM分数意味着容器更有可能被杀死。默认情况下,此选项为0。
  4. 查看容器的内存使用情况:可以使用docker stats命令来查看容器的内存使用情况,包括使用的内存量、缓冲区和缓存量、交换空间使用情况等。

1、当网络模式使用container模式时,几个容器中的服务是否可以通过localhost或者127.0.0.1进行通信

container 网络模式

Container 网络模式是 Docker 中一种较为特别的网络的模式。在创建容器时通过参数 --net container:已运行的容器名称|ID 或者 --network container:已运行的容器名称|ID 指定;
处于这个模式下的 Docker 容器会共享一个网络栈,这样两个容器之间可以使用 localhost 高效快速通信。

docker network create --driver bridge --subnet=22.0.0.0/24 test-net
 docker run --name testnginx -d -p 81:80 --net test-net nginx
docker run --name testtomcat -d  --network container:testnginx tomcat

在这里插入图片描述
在这里插入图片描述

2、创建一个默认桥接的容器,将容器连接到自定义网络

docker network create --driver bridge my_network                                            docker run -d --name nginx_container \                                                     
           --network my_network \ 
           -p 90:80 \    
           nginx          

在这里插入图片描述

3、创建一个httpd容器

docker run -d --name httpd_container \  
           -p 100:80 \
           httpd

使用物理机访问httpd服务
在这里插入图片描述

使用虚拟机访问httpd服务
在这里插入图片描述

进入容器查看httpd的日志
在这里插入图片描述

4、修改cfs公共参数中的cpu.cfs_quota_us改为20000,创建容器测试cpu用量

cd /sys/fs/cgroup/cpu/docker/
code cpu.cfs_quota_us  
# 20000
# save
docker run -id --name c1 centos
docker exec -it c1 bash
vi cpu.sh
#!/bin/bash
i=0
while true
do
let i++
done
chmod +x cpu.sh
./cpu.sh
top

在这里插入图片描述

5、构建一个docker容器,限制其可用最大内存为1024mb

docker run --name testc --memory 1024m -id centos  
docker stats

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iPhone如何全选删除照片:一步到位的清理指南

随着时间的推移,iPhone中的照片会迅速累积,最终可能占据大量的存储空间。无论是为了释放空间,还是整理照片库,iPhone如何全选删除照片成为许多用户的需求。然而,iPhone原生的“照片”应用并没有直接提供“全选删除”功…

软考学习笔记(0):软考准备

文章目录 前言软考的优点软考项目的选择资料选择时间安排 前言 最近因为某些原因,我又开始上班了。新工作是纯内网开发,那以后发博客的频率我估计就会很少了。 软考的优点 简单来说,软考考上了,大概一个月的薪资可以涨1000-300…

使用JvisualVM 连接linux远程服务器

一、添加配置 在 java 启动参数中添加如下配置 -Dcom.sun.management.jmxremotetrue -Djava.rmi.server.hostname服务器IP(公网) -Dcom.sun.management.jmxremote.port端口号 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse添加…

树莓派智能语音助手之ASR2 – sherpa-ncnn

前几天虽然让树莓派学会了“听”(《树莓派智能语音助手之ASR – SpeechRecognitionPocketSphinx》),但是,PocketSphinx的识别效果真心不咋的。可我的树莓派因为系统等原因,一直装不了sherpa-onnx。正当我只能无奈地接受…

Windows配置开机直达桌面并跳过锁屏登录界面在 Windows 10 中添加在启动时自动运行的应用

目录 Win10开机直达桌面并跳过锁屏登录界面修改组策略修改注册表跳过登录界面 在 Windows 10 中添加在启动时自动运行的应用设置系统级别服务一、Windows下使用sc将应用程序设置为系统服务1. 什么是sc命令?2. sc命令的基本语法3. 创建Windows服务的步骤与示例创建服…

spring boot同时连接两个数据库

一、需求说明 1. 项目要求同时操作两个数据库&#xff0c;一个在本地服务器&#xff0c;一个在云服务器。 2. 两个数据库均为SQL server数据库。 二、实现 1. 在pom中导入多数据源依赖 <dependency><groupId>com.baomidou</groupId><artifactId>dynam…

【Kubernetes】身份认证与鉴权

一&#xff0c;认证 所有 Kubernetes 集群有两类用户&#xff1a;由Kubernetes管理的ServiceAccounts(服务账户)和(Users Accounts)普通账户。 两种账户的区别&#xff1a; 普通帐户是针对(人)用户的&#xff0c;服务账户针对Pod进程普通帐户是全局性。在集群所有namespaces…

ansible安装K8s

部署Kubernetes (k8s) 集群使用Ansible是一个常见的自动化解决方案。下面我将提供一个基本的步骤概述和所需的命令&#xff0c;用于在CentOS 7.8上使用Ansible部署k8s集群&#xff0c;包括Master节点和Worker节点&#xff08;Web和DB节点&#xff09;。 步骤 1: 准备环境 确保所…

# 利刃出鞘_Tomcat 核心原理解析(七)

利刃出鞘_Tomcat 核心原理解析&#xff08;七&#xff09; 一、Tomcat专题 - Tomcat管理配置 - host-manager 1、Tomcat 管理配置 从早期的Tomcat版本开始&#xff0c;就提供了Web版的管理控制台&#xff0c;他们是两个独立的Web应用&#xff0c;位于webapps目录下。Tomcat …

C语言典型例题40

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 题目 例题3.8 运输公司对用户计算运费。路程&#xff08;以s表示&#xff0c;单位为千米&#xff09;&#xff0c;吨/千米运费越低。标准如下&#xff1a; s<250 没…

C:每日一题:逆序字符串(牛客)

一、题目来源 字符逆序__牛客网 (nowcoder.com) 二、题目介绍 将一个字符串str的内容颠倒过来&#xff0c;并输出。 三、思路分析 要将字符串str存储起来&#xff0c;可以使用字符数组或者字符指针的方式存储起来&#xff1b;从题目中我们知道该题需要我们自己输入字符串&a…

C++优先级队列priority_queue(容器适配器)

目录 一、优先级队列简述 二、优先级队列的大堆、小堆&#xff08;仿函数控制&#xff09; 三、优先级队列与sort函数中仿函数区别 四、优先级队列的接口 一、优先级队列简述 priority_queue是一个类模板 二、优先级队列的大堆、小堆&#xff08;仿函数控制&#xff09; p…

LLM 量化算法AutoRound 0.3 发布及原理浅析

这里写自定义目录标题 AutoRound V0.3 特性原理浅析其他工作AutoRound 原理 AutoRound&#xff08;https://github.com/intel/auto-round&#xff09;在Llama3.1-8B-Instruct上效果明显优于AWQ/GPTQ等方法&#xff0c;在10个任务的平均准确率上我们以63.93%由于AWQ的63.15%和GP…

Qt登录窗口

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),btn(new QPushButton("取消", this)),login_btn(new QPushButton("登录", this)) { ui->setupUi(this);thi…

R 语言学习教程,从入门到精通,R 数据重塑(15)

1、R 数据重塑 合并数据框 R 语言合并数据框使用 merge() 函数。 merge() 函数语法格式如下&#xff1a; # S3 方法 merge(x, y, …) # data.frame 的 S3 方法 merge(x, y, by intersect(names(x), names(y)),by.x by, by.y by, all FALSE, all.x all, all.y all,sort…

【JS逆向学习】AES加密文本如何在python中自我解密

一、查看解密后的内容 二、未解密前的内容 三、分析网页 import requestsheaders = {Accept: application/json, text/plain, */*,Accept-Language: zh-CN,zh;q=0.9,Cache-Control: no-cache,Connection: keep-alive,Origin: https://www.swguancha.com,Pragma: no-cache,Ref…

喷淋温湿度氙灯老化试验箱

氙灯试验箱是一种模拟全阳光光谱的试验设备&#xff0c;主要用于测试材料在紫外光、可见光和红外光等不同光谱环境下的耐候性能。它采用氙弧灯作为光源&#xff0c;通过设定各种试验参数&#xff0c;如温度、湿度和辐照度等&#xff0c;来模拟自然环境中的光照条件&#xff0c;…

使用排名前三的华为解锁工具来绕过忘记的华为锁屏密码

如果您在未使用“设置”应用的情况下将华为手机恢复出厂设置&#xff0c;同时启用了出厂重置保护 (FRP) 安全功能&#xff0c;您的华为设备将卡在帐户验证界面。您可以使用帐户凭据轻松绕过此锁定。但是&#xff0c;假设您无法回忆起旧的帐户信息。在这种情况下&#xff0c;您应…

Apache Flink中TaskManager,SubTask,TaskSlot,并行度之间的关系

Apache Flink 中Application 与 Job 一个完整的Flink Application 一般组成如下&#xff1a; Source 数据来源Transformation 数据转换处理等Sink 数据传输 Flink 中一个或者多个Operator&#xff08;算子&#xff09;组合对数据进行转换形成一个 Transformation&#xff0c;一…

优化业务流程的关键:深入探讨BPA流程设计

在当前竞争激烈的商业环境中&#xff0c;业务流程自动化&#xff08;BPA&#xff09;已经成为企业提升效率、减少成本和提高业务灵活性的关键工具。今天&#xff0c;我们将深入探讨BPA流程设计的重要性及其实施步骤&#xff0c;为企业提供实用的指南。 什么是BPA&#xff1f; …