城阳 网站建设建设网站的工具

张小明 2026/1/13 0:53:07
城阳 网站建设,建设网站的工具,郑州网站建设知名公司,hyper cache wordpress文章目录前言一、cpu资源限制1、概述2、cgroups的四大功能3、限制cpu的使用3.1、设置cpu使用率上限3.2、设置cpu占比3.3、容器进程绑定到指定cpu3.4、压力测试-cpu3.5、小结4、内存使用限制4.1、介绍4.2、设置内存限制4.3、建议5、磁盘io控制5.1、概述5.2、常用docker参数…文章目录前言一、cpu资源限制1、概述2、cgroups的四大功能3、限制cpu的使用3.1、设置cpu使用率上限3.2、设置cpu占比3.3、容器进程绑定到指定cpu3.4、压力测试-cpu3.5、小结4、内存使用限制4.1、介绍4.2、设置内存限制4.3、建议5、磁盘io控制5.1、概述5.2、常用docker参数blkio5.3、限制io二、数据卷容器1、数据卷1.1、数据卷介绍1.2、创建与挂载数据卷2、数据卷容器2.1、概述2.2、数据卷容器的使用2.3、小结3、端口映射3.1、概述3.2、随机端口映射3.3、指定端口映射三、容器互联1、概述2、容器互联的使用3、小结总结前言Docker 容器资源调度与网络配置是容器化运维核心能力本文围绕 CPU、内存、磁盘 IO 资源限制展开实操讲解同时介绍数据卷容器与容器互联技术助力实现容器高效管控。一、cpu资源限制1、概述cgroups Control Groups是 Linux 内核提供的资源控制机制。对容器非常重要可控制资源限制、优先级分配、资源统计、任务控制挂起/恢复/终止。Docker 通过 cgroups 来实现 CPU、内存、IO 等限制与度量2、cgroups的四大功能资源限制限制任务使用的总资源量优先级分配如通过 cpu 时间片和 IO 带宽分配优先级资源统计统计 cpu 时长、内存用量等。任务控制对 cgroup 中的进程执行挂起/恢复等操作。3、限制cpu的使用3.1、设置cpu使用率上限原理Linux 使用 CFSCompletely Fair Scheduler。通过两个参数控制cpu.cfs_period_us 周期微秒和 cpu.cfs_quota_us 配额微秒。quota / period 可用 CPU 核心数的 小数 表示相对于 1 个 CPU。默认 period 100000 100 ms。 quota -1 表示不限制。示例限制容器为50%的一个cpudocker run -itd --name c1 --cpu-quota50000centos:7 /bin/bash docker run -itd --name c2 --cpus0.5centos:7 /bin/bash因为有四个逻辑核所以0.5个cpu每个核数是0.5 / 4 0.125。即 12.5% 的整机 CPU能力注意最小值/范围 --cpu-period 有效范围通常 1000 ~ 1000000单位 us。 --cpu-quota 必须 10001 ms或者 -1不限制。3.2、设置cpu占比原理–cpu-shares 指定相对权重默认 1024仅在 CPU 争用时生效不是硬限制。举例两个容器 c1 、 c2 --cpu-shares 512 与 --cpu-shares 1024 在争用情况下 CPU 分配比约为 1:2。示例设置两个容器的占比docker run -itd --name c1 --cpu-shares512centos:7 docker run -itd --name c2 --cpu-shares1024centos:7## 在两个容器里都执行stress压测操作最后通过 查看容器的cpu占用量dockercp/etc/yum.repos.d/CentOS.repo yum clean all yum makecache dockerexec-it c1 /bin/bash yuminstall-y epel-release yuminstall-y stress stress -c4docker stats3.3、容器进程绑定到指定cpu用途把容器进程绑定到宿主机的指定 CPU 核上硬亲和性。示例将容器绑定到第 1 和第 3 个核docker run -itd --name c1 --cpuset-cpus1,3centos:7 /bin/bash##在容器中输入以下命令查看亲核编号psef|grep/bin/bash|grep-vgreptaskset -pc13.4、压力测试-cpu# 压测工具yuminstall-y epel-release yuminstall-y stress stress -c4#产生四个进程每个进程都反复不停的计算随机数的平方根# 找到容器对应的 cgroup 路径容器ID替换cd/sys/fs/cgroup/cpu/docker/container-id/catcpu.cfs_period_uscatcpu.cfs_quota_usecho50000cpu.cfs_quota_us# 设置配额临时生效3.5、小结● --cpu-shares 是权重不是限额。● --cpu-quota / --cpu-period 是硬限制quota -1 表示无限制。● 使用 --cpuset-cpus 能提高性能稳定性避免与其他进程抢核。● 在多核宿主机上理解 quota/period 的含义单位是 “相对于 1 个 CPU 的份额”。4、内存使用限制4.1、介绍基础选项-m, --memory 限制容器可用的物理内存例如 -m 512m 。–memory-swap 限制容器可用的物理内存 swap 总量必须与 -m 一起使用以明确 swap 上限。–memory 与 --memory-swap 规则示例 -m 300m --memory-swap1g含义容器可用物理内存 300 MB物理 swap 总共 1 GB → swap 可用 700 MB1G - 300M。默认行为若不设置 --memory-swap 通常容器可使用的 swap 为 -m 值的两倍行为可能随Docker 版本/配置变化。若 --memory-swap -1 swap 不受限制宿主机可用多少 swap 就用多少。若 --memory-swap -m 容器不能使用 swap物理内存用尽会触发 OOM。4.2、设置内存限制docker run -itd --name c2 -m 512m centos:7 /bin/bash# 或者设置swap总额生产环境不常见)docker run -itd --name c2 -m 300m --memory-swap1g centos:7注意OOM 行为如果容器超过允许内存且没有 swap 或无更多内存可用会被内核 OOM killer 杀掉。 可查看容器日志与 dmesg 来确认 OOM 事件。4.3、建议● 为生产服务设置合理内存限制避免单容器把宿主机内存耗尽。● 对于内存敏感的应用建议同时设置 -m 与 --memory-swap 并配合健康检查/重启策略。● 在 cgroup v2 环境下内存控制文件名/行为可能与 v1 略有不同检查 /sys/fs/cgroup 结构。5、磁盘io控制5.1、概述Docker 提供对块设备读写带宽与 IOPS 的限制选项基于 cgroups 的 blkio 控制器。注意在 cgroup v2 中blkio 功能被 io 控制器取代语义与文件名有所不同如果你运行的是较新内核/系统请参考对应 cgroup 版本文档。5.2、常用docker参数blkio–device-read-bps /dev/sda:1M 限制设备上读速率为 1 MB/s。–device-write-bps /dev/sda:1M 限制写速率为 1 MB/s。–device-read-iops /dev/sda:100 限制读 IOPS次数。–device-write-iops /dev/sda:100 限制写 IOPS次数。5.3、限制iodocker 20.10.18版本支持最新版本不支持缺少sda分区.(ce和ce-cli都要对应版本)yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18 containerd.io#创建并进入容器centosdocker run -it --name c3 --device-write-bps /dev/sda:1MB centos:7 /bin/bash# dd验证写入速度ddif/dev/zerooftest.outbs1Mcount10oflagdirectdd核心作用从 /dev/zero 读取纯0数据以「1MB / 块、共 10 块」的规格直接写入 当前目录的 test.out 文件最终生成 10MB 大小的纯零文件用于测试磁盘直接写入速度。二、数据卷容器1、数据卷1.1、数据卷介绍数据卷是 Docker 中一种专门为容器提供持久化存储的机制。它是容器内部的特殊目录可以与宿主机或其他容器共享数据。通过使用数据卷容器可以在其生命周期内访问和修改数据而不会影响镜像本身。这样一来数据卷能够保持数据持久性即使容器被删除或重建数据依然能够保留。1.2、创建与挂载数据卷使用 docker run 命令启动一个容器时可以通过 -v 或 --mount 选项将宿主机的目录挂载到容器中的数据卷。下面是一个简单的例子-v /var/www:/data1 : 将宿主机上的 /var/www 目录挂载到容器中的 /data1 目录。这样容器内 /data1 的修改会同步到宿主机上的 /var/www 。–name web1 : 给容器指定一个名称 c1。-it centos:7 /bin/bash : 使用 centos:7 镜像启动容器并进入交互式 shell。docker run -v /var/www:/data1 --name c1 -itd centos:7 /bin/bash# 宿主机写入echo hh b.txtechohhb.txt dockerexec-it c1 /bin/bashcat/data1/b.txt2、数据卷容器2.1、概述数据卷容器是一种专门用于共享数据的容器它不是用于运行应用程序的容器而是仅仅提供一个数据卷供其他容器挂载并使用。这种方式常用于多个容器共享数据避免数据丢失或重复管理。2.2、数据卷容器的使用首先创建一个数据卷容器 web2 并挂载多个数据卷–name web2 : 给容器命名为 web2 。-v /data1 -v /data2 : 在容器内部挂载了两个数据卷 /data1 和 /data2 。这些数据卷不依赖于宿主机而是仅仅存在于容器内。# 创建数据卷容器,添加数据卷docker run -v /data1 -v /data2 -itd --name c1 centos:7 /bin/bash# 在数据卷容器写入数据echothis is c1c1.txtechothis is c2c2.txt dockercpc1.txt c1:/data1/abc.txt dockercpc2.txt c1:/data2/ABC.txt# 使用--volumes-from 共享数据卷docker run -itd --name c2 --volumes-from c1 centos:7 /bin/bash# 在新容器查看数据dockerexec-it c2 /bin/bashcat/data1/abc.txtcat/data2/ABC.txt2.3、小结数据卷 (Data Volumes) 是容器中的特殊目录用于持久化存储数据。它可以通过宿主机的目录进行挂载实现容器与宿主机之间的数据共享。数据卷容器 (Data Volumes Containers) 允许容器之间共享数据卷避免每个容器都需要挂载宿主机目录。使用 --volumes-from 可以让多个容器共享同一数据卷。3、端口映射3.1、概述在 Docker 中容器内部运行的服务默认是不能被外部网络访问的。如果需要让外部网络能够访问容器中的服务就需要使用端口映射机制。端口映射将宿主机的端口映射到容器内的端口从而使得外部网络能够通过访问宿主机的端口进而访问容器内的服务。3.2、随机端口映射docker run -itd --name c4 -P nginx:latest dockerps-a3.3、指定端口映射docker run -itd --name c5 -p43000:80 nginx:latest dockerps-a三、容器互联1、概述容器互联是一种让容器之间能够通过网络相互通信的机制。通过在容器间建立网络通信隧道源容器和接收容器可以互相看到对方的指定信息。Docker 提供了 --link 选项来实现容器互联在一个容器中可以通过另一个容器的名称来访问它。2、容器互联的使用–link web1:web1 : 通过 --link 选项连接 web1 容器将 web1 容器暴露给 web2 容器并在 web2 中将 web1 显示为别名 web1 。这样 web2 容器就可以通过 web1 访问源容器的信息。# 1创建运行源容器web1docker run -itd -P --name web1 centos:7 /bin/bash# 2创建运行接收容器web2docker run -itd --name web --link web1:web1 centos:7 /bin/bash# 3web2测试连接dockerexec-it web /bin/bashpingweb13、小结源容器通过 docker run 启动并通过 --name 指定一个唯一名称例如 web1接收容器通过 docker run 启动并通过 --link 选项将其与源容器 web1 连接。 --link 会将源容器暴露为别名接收容器可以通过该别名与源容器进行通信。容器间通信接收容器可以通过源容器的名称进行通信如在 web2 中通过 ping web1 测试与web1 的连通性。这种容器互联的方式适用于简单的容器间网络通信但在较复杂的场景中建议使用 Docker 网络如桥接网络或自定义网络来管理容器间的通信。总结本文系统讲解 Docker 三大核心实操内容掌握 CPU 等资源限制可保障容器稳定运行数据卷与容器互联则解决数据持久化、容器通信问题夯实容器运维基础。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

如何诊断网站seo本网站只做信息展示不提供在线交易

使用HuggingFace镜像网站快速部署Qwen3-VL-30B大模型教程 在当前AI应用快速迭代的背景下,多模态大模型正从实验室走向真实业务场景。尤其是视觉语言模型(Vision-Language Model, VLM),已经成为智能客服、文档理解、内容审核等系统…

张小明 2026/1/10 17:20:01 网站建设

北京网站设计研究与开发公司东城专业网站建设公司

计算机毕业设计校园旧物交易系统m198z9(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。毕业季“搬家季”,成堆的教材、台灯、小风扇从五楼搬到垃圾站,不如…

张小明 2026/1/10 17:20:02 网站建设

郑州网站技术顾问wordpress英文下主题怎么换

自定义小部件开发与接口实现 1. 尺寸请求与分配 在开发自定义小部件时,我们通常需要重写父类 GtkWindowClass 的尺寸请求和分配函数。以下是 my_marquee_size_request() 和 my_marquee_size_allocate() 函数的实现: /* Handle size requests for the widget. This …

张小明 2026/1/10 17:20:02 网站建设

公司做网站需要php一般网站空间多大

FaceFusion如何计算Token消耗?按帧还是按秒计费? 在AI视频处理日益普及的今天,一个看似简单的问题却常常困扰开发者与产品设计者:当我们调用像FaceFusion这样的人脸替换工具时,服务成本到底该怎么算?是按视…

张小明 2026/1/10 17:20:03 网站建设

php网站空间收录批量查询工具

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个交互式学习工具,帮助新手理解Runtime Error 217:1. 基础知识讲解模块;2. 可视化内存操作演示;3. 简单错误重现和修复练习&am…

张小明 2026/1/9 21:13:54 网站建设

灰色网站模板杭州seo营销公司

R JSON 文件 引言 在数据分析和处理领域,R语言因其强大的数据处理和分析能力而备受青睐。而JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,以其易读性和易解析性在数据存储和传输中扮演着重要角色。本文将探讨R语言如何处理JSON文件,包括读取、解析和写…

张小明 2026/1/10 17:20:17 网站建设