news 2026/9/1 5:31:44

Docker核心功能详解:从资源管控到镜像构建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker核心功能详解:从资源管控到镜像构建

在容器化技术飞速发展的今天,Docker凭借其轻量、灵活、可移植的特性,成为了开发者和运维人员的必备工具。Docker的强大之处不仅在于容器的创建与运行,更在于其丰富的核心功能,这些功能能帮助我们更精准地管控容器、高效地管理数据、便捷地实现容器间通信以及快速构建自定义镜像。本文将详细介绍Docker中5个核心功能——资源限制、数据卷容器、端口映射、容器互联、镜像创建,并结合具体示例说明其用法,助力大家更好地应用Docker。

一、资源限制:给容器划好“边界”

默认情况下,Docker容器会尽可能占用宿主机的资源(CPU、内存、磁盘I/O等),这可能导致单个容器过度消耗资源,影响其他容器或宿主机的正常运行。通过资源限制功能,我们可以为每个容器分配固定的资源配额,保障系统整体的稳定性。

1.1 核心限制维度

  • CPU限制:限制容器可使用的CPU核心数、CPU使用率上限等。

  • 内存限制:限制容器可使用的最大内存、交换空间大小等,避免内存溢出。

  • 磁盘I/O限制:限制容器对磁盘的读写速率,防止单个容器占用过多磁盘带宽。

1.2 查看 CPU / 内存整体使用(top/htop)

1.2.1 基础版(系统自带)
**top**

**htop** 为top增强版(需yum安装,更直观)

yum install htop   htop

* 简洁查询内存 / CPU(free/mpstat)
# 查看内存使用(带单位,更易读) free -h # 查看CPU整体使用率 mpstat # 查看每个CPU核心的使用率 mpstat -P ALL

1.2.2  Docker 自带命令(关联容器与宿主机资源)

# 查看宿主机上所有容器的资源占用(间接反映宿主机负载) docker stats # 只看宿主机层面的Docker系统信息(含总内存/CPU核心数) docker info | grep -E 'CPU|Memory|Total'

1.2.3 cpu使用率上限(--cpu-period/--cpu-quota)

  原理:Linux 使用 CFS(Completely Fair Scheduler)。通过两个参数控制: cpu.cfs_period_us (周期,微秒)和 cpu.cfs_quota_us (配额,微秒)

示例:限制容器为 50% 的一个 CPU docker run -itd --name test6 --cpu-quota 50000 centos:7 /bin/bash 解释:50000 / 100000 = 0.5 → 相当于 0.5 个 CPU(即 50% 的单核)。 另一种更直观的写法: docker run -itd --name cputest --cpus="0.5" centos:7 /bin/bash # --cpus=0.5 是 --cpu-quota /--cpu-period 的友好封装(要求较新版本 Docker)。

1.2.4 设置 CPU 占用比(权重 — - cpu shares )

原理:--cpu-shares 指定相对权重(默认 1024),仅在 CPU 争用时生效(不是硬限制)。

举例:两个容器 c1、c2,--

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 16:24:45

9 个降AI率工具,本科生高效降重指南

9 个降AI率工具,本科生高效降重指南 AI降重工具:高效降低AIGC率的得力助手 在当前学术写作中,越来越多的本科生开始使用AI工具辅助论文撰写。然而,随着各大高校对AI生成内容(AIGC)检测的重视,如…

作者头像 李华
网站建设 2026/8/27 15:59:12

制造业知识传承难题破解:工人培训AI助手上线

制造业知识传承难题破解:工人培训AI助手上线 在一家中型机械制造厂的装配车间里,一位刚入职三个月的新员工正面对一台从未接触过的数控机床。他记得师傅提过某个参数设置的关键点,但翻遍了厚厚的操作手册和班组微信群记录,依然找不…

作者头像 李华
网站建设 2026/8/27 15:59:05

SBC运行Linux RT系统的实时性优化指南

SBC运行Linux RT系统的实时性优化实战指南你有没有遇到过这样的场景:在一台树莓派上跑着控制电机的程序,明明代码逻辑清晰、周期设定精准,可实际执行时却总出现几毫秒甚至十几毫秒的抖动?机器人动作不连贯、传感器采样失步、Ether…

作者头像 李华
网站建设 2026/8/30 5:01:58

anything-llm实战案例:某科技公司内部知识问答系统落地

Anything LLM实战案例:某科技公司内部知识问答系统落地 在一家快速发展的科技公司里,工程师每天要面对成百上千的技术文档、会议纪要和项目记录。每当有人问“订单服务的重试机制是怎么设计的?”——这个问题的答案可能藏在三年前某次架构评审…

作者头像 李华
网站建设 2026/8/24 15:31:04

Zynq-7000在Vivado中的SDK协同开发操作指南

Zynq-7000软硬件协同开发实战:从Vivado到SDK的完整闭环你有没有遇到过这样的情况?在Vivado里精心设计好了一个FPGA逻辑模块,信心满满地导出到SDK准备写控制程序,结果发现GPIO不响应、寄存器读不到值,甚至系统直接卡死……

作者头像 李华
网站建设 2026/8/27 12:07:07

一文说清:半加器与全加器的区别与联系

从0到1:半加器与全加器的底层逻辑与工程实践你有没有想过,计算机是如何做加法的?不是用计算器,也不是调用a b这么简单——而是从最基础的晶体管和门电路开始,一步步构建出能够完成二进制相加的硬件模块。这背后的第一…

作者头像 李华