为什么你的Docker标签删了还占用空间?真相只有一个(附解决方案)

解决WSL2的docker删除镜像后,磁盘空间不释放问题 由于WSL2本质上是虚拟机,所以 Windows 会自动创建 vhdx 后缀的虚拟磁盘文件作为存储。这个 vhdx 后缀的虚拟磁盘文件特点是可以自动扩容,但是一般不会自动缩容。一旦有很多文件把它“撑大”,即使把这些文件删除它也不会自动“缩小”。所以删除文件后还需要我们手动进行压缩才能释放磁盘空间。 阅读详情

第一章:为什么你的Docker标签删了还占用空间?真相只有一个

当你执行 docker rmi my-image:latest 删除某个镜像标签后,发现磁盘空间并未释放,这并非系统出错,而是源于 Docker 镜像的分层存储机制。每个镜像由多个只读层组成,不同标签可能共享相同的底层数据。删除标签仅移除对该镜像层的引用,而实际数据仍被其他镜像或容器引用时,便不会被清除。

镜像与层的关系

Docker 使用联合文件系统(如 overlay2),将镜像拆分为多个只读层和一个可写层。即使你删除了一个标签,只要还有其他镜像或容器依赖其底层数据,这些层就会继续占用空间。
  • 镜像标签是镜像的“别名”,删除标签不等于删除数据
  • 多个标签可能指向同一镜像ID,共享底层数据
  • 只有当所有引用都被移除后,层才会被垃圾回收

查看真实占用情况

使用以下命令查看镜像及其共享层的情况:
# 查看所有镜像,包括虚悬镜像(dangling)
docker images -a

# 查看磁盘使用详情
docker system df

# 列出未被任何标签引用的虚悬镜像
docker images --filter "dangling=true"
其中,dangling 镜像是构建过程中产生的中间层,已无标签指向,属于可清理对象。

彻底释放空间的方法

要真正释放空间,需清理未使用的资源:
# 删除所有未使用的镜像、容器、网络和构建缓存
docker system prune -a

# 强制删除特定镜像(通过镜像ID,而非标签)
docker rmi <IMAGE_ID>
命令作用
docker rmi tag仅删除标签引用
docker rmi IMAGE_ID删除整个镜像数据(无其他引用时)
docker system prune -a清理所有未使用资源
真正释放空间的关键在于消除所有对镜像层的引用,并主动触发清理机制。

第二章:Docker镜像与标签的底层机制解析

2.1 镜像分层结构与联合文件系统原理

Docker 镜像采用分层结构设计,每一层都是只读的文件系统层,通过联合挂载技术叠加形成最终的镜像。这种结构实现了资源的高效复用。
分层机制的优势
  • 共享基础层,减少存储占用
  • 增量更新,仅需下载变动层
  • 构建缓存,提升CI/CD效率
联合文件系统工作原理
典型的联合文件系统(如 overlay2)通过 lowerdir 和 upperdir 实现写时复制(Copy-on-Write):

# 示例:overlay2 挂载结构
merged/
  ├── upper/     # 容器可写层
  ├── lower/     # 只读镜像层
  └── work/      # 中间工作目录
当容器修改文件时,系统将文件从 lower 复制到 upper 层,保持原始层不变,确保镜像不可变性。
图表:多层镜像通过联合文件系统合并为单一视图

2.2 标签与镜像ID的映射关系剖析

在Docker镜像管理中,标签(Tag)并非镜像本身,而是指向特定镜像ID的可变引用。同一个镜像ID可被多个标签引用,而标签可随时被修改指向新的镜像ID。
映射机制解析
Docker通过内容寻址存储镜像,每个镜像由唯一SHA256摘要标识(即镜像ID)。标签存储于本地或远程仓库的元数据中,形成“标签 → 镜像ID”的键值映射。
查看映射关系
执行以下命令可查看本地镜像及其标签与ID的对应关系:
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}"
该命令输出三列信息:仓库名、标签、镜像ID。同一ID可能出现多次,表示多个标签指向同一镜像。
映射表结构示例
RepositoryTagImage ID
nginxlatestabc123
nginx1.21abc123
nginx1.20def456

2.3 删除标签是否真正释放磁盘空间?

在Docker等容器化环境中,删除镜像标签(tag)常被误认为会立即释放磁盘空间。实际上,标签仅是镜像的引用指针,移除标签并不会删除底层的镜像数据。
镜像与层的存储机制
Docker镜像由多个只读层组成,这些层可被多个镜像共享。只有当所有引用该层的镜像都被删除后,垃圾回收机制才会清理无引用的层。
验证空间释放情况
执行以下命令查看磁盘使用情况:

docker system df
该命令输出当前镜像、容器和卷占用的空间。即使删除标签,若底层层未被清除,总空间占用仍保持不变。
  • 标签删除:仅移除名称指向
  • 镜像删除:移除整个镜像及其专有层
  • 空间回收:需运行docker image prune触发清理

2.4 悬空镜像(dangling images)的成因与识别

悬空镜像是指那些不再被任何标签引用且没有被容器使用的中间层镜像。它们通常在镜像重建或标签覆盖过程中产生,例如重新构建同名镜像时,旧的镜像层会失去引用。
常见成因
  • 镜像重新构建后旧层未被清理
  • 使用 docker tag 覆盖原有标签
  • 构建缓存产生的中间镜像
识别悬空镜像
执行以下命令可列出所有悬空镜像:
docker images --filter "dangling=true"
该命令通过过滤器筛选出无标签(<none>)且未被引用的镜像。输出结果中的镜像均可安全删除以释放磁盘空间。
清理建议
定期运行:
docker image prune
此命令将自动删除所有悬空镜像,减少存储占用,提升系统维护效率。

2.5 实验验证:删除标签后的存储状态追踪

在容器镜像管理系统中,删除标签操作并不等同于删除镜像数据。为验证实际存储状态变化,我们通过实验追踪元数据与数据层的关联关系。
实验步骤设计
  1. 推送带有多个标签的镜像至私有仓库
  2. 逐一删除标签并记录响应状态
  3. 调用仓库API查询底层Blob存在状态
API调用示例

# 删除标签
curl -X DELETE http://registry/v2/library/image/manifests/sha256:abc123

# 查询Blob状态
curl -I http://registry/v2/library/image/blobs/sha256:def456
上述命令中,DELETE请求仅移除标签指向的清单(manifest),而Blob仍可通过digest访问。响应返回307重定向表明数据未被回收。
存储状态对比表
操作标签数量Blob可访问性
初始状态3是
删除2个标签1是
删除全部标签0是(需直接引用digest)

第三章:主流镜像仓库中的标签管理实践

3.1 Docker Hub 的标签删除机制与限制

标签删除的基本规则
Docker Hub 允许用户为镜像打多个标签,但删除操作受到严格限制。一旦镜像被推送到仓库,直接删除标签需通过 API 或 CLI 执行,且某些组织级仓库可能禁用此功能。
使用 API 删除标签
可通过 Docker Hub REST API 发起删除请求:
curl -X DELETE \
  https://hub.docker.com/v2/repositories/username/repo/tags/tagname/ \
  -H "Authorization: Bearer <your-jwt-token>"
该请求需携带有效的 JWT 认证令牌,目标为特定仓库下的标签路径。返回 204 表示删除成功。
主要限制条件
  • 免费账户可能受限于删除频率和数量
  • 公共仓库中已拉取过的标签仍存在于用户缓存中
  • 不可删除 latest 标签除非有替代标签存在
  • Docker Hub 不提供自动垃圾回收,未打标签的镜像层需手动清理

3.2 私有Registry中标签删除的实际影响

标签删除与镜像保留机制
在私有Registry中,删除标签(tag)并不等同于删除镜像。镜像实际由内容寻址的Digest标识,标签仅是引用指针。当执行docker rmi或调用Registry API删除标签时,仅移除该标签指向的引用,底层Blob数据仍被保留。
存储空间影响分析
  • 标签删除后,镜像层(Layer Blobs)若无其他标签引用,将变为“悬空镜像”(dangling)
  • Registry需定期运行垃圾回收(garbage collection)以清理无引用的Blob
  • 未及时清理会导致存储持续占用,影响集群资源利用率

# 示例:调用Registry API删除标签
curl -X DELETE http://registry:5000/v2/myimage/manifests/sha256:abc123
该请求删除指定标签的清单(manifest),但不会自动清除关联的层数据。只有当所有引用消失且执行GC后,空间才会释放。

3.3 Harbor等企业级仓库的垃圾回收策略

企业级镜像仓库如Harbor在长期运行中会积累大量无用镜像层和未引用的Blob数据,影响存储效率与系统性能。因此,垃圾回收(Garbage Collection, GC)成为核心运维机制。
GC执行模式
Harbor支持两种GC模式:全量扫描与增量清理。全量扫描识别所有未被清单(manifest)引用的Blob;增量清理则基于日志追踪变化,提升效率。
配置示例与分析
{
  "garbage_collection": {
    "schedule": "0 0 2 * * *",  // 每日凌晨2点执行
    "dry_run": false,
    "delete_untagged": true     // 删除无标签镜像
  }
}
该配置表明系统定期执行真实删除操作,并清除未打标签的悬空镜像层,释放存储空间。
  • delete_untagged:若启用,未标记的镜像层将被视为可回收
  • dry_run:测试模式下仅输出待删对象,不实际删除

第四章:彻底清理镜像占用空间的解决方案

4.1 使用docker image prune清除悬空镜像

在Docker运行过程中,频繁构建镜像会产生大量中间层镜像,尤其是那些不再被任何标签引用的“悬空镜像”(dangling images),它们占用宝贵磁盘空间。
什么是悬空镜像?
悬空镜像是指没有被任何标签或父镜像直接引用的镜像层。通常出现在镜像重建或标签覆盖后,原有镜像失去引用但未被清理。
使用prune命令清理
执行以下命令可删除所有悬空镜像:
docker image prune
该命令会提示确认操作。若需跳过确认,可添加 -f 参数:
docker image prune -f
扩展清理选项
使用 --all 选项可进一步删除所有未被使用的镜像,而不仅限于悬空镜像:
docker image prune -a
此操作将释放更多空间,建议定期执行以维护系统健康。

4.2 手动删除无用镜像层并清理存储目录

在长期运行的容器环境中,大量未使用的镜像层会累积占用磁盘空间。手动清理这些冗余数据可有效释放存储资源。
识别无用镜像层
通过以下命令列出所有悬挂(dangling)镜像:
docker images -f "dangling=true"
该命令筛选出未被任何标签引用的中间层镜像,通常为构建过程中遗留的无用层。
删除指定镜像
使用 docker rmi 删除特定镜像:
docker rmi <IMAGE_ID>
若镜像正在被容器使用,需先停止并删除对应容器。强制删除可添加 -f 参数,但需谨慎操作。
清理存储目录
Docker 默认存储路径为 /var/lib/docker。确认无用镜像删除后,可通过以下流程图确认空间回收情况:
步骤操作
1执行 docker system df
2查看实际磁盘使用量
3对比文件系统 df 命令结果

4.3 配置Registry垃圾回收(GC)任务

在Harbor等容器镜像仓库中,频繁的镜像推送与删除会产生大量无引用的层数据。为避免存储资源浪费,需定期执行垃圾回收(GC)任务。
启用GC策略
通过修改Harbor配置文件harbor.yml启用定时GC:
jobservice:
  job_loggers:
    - name: "gc"
      schedule: "0 0 2 * * *"  # 每日凌晨2点执行
该配置表示使用cron表达式定义GC任务调度周期,确保非高峰时段运行以减少系统负载。
GC执行模式对比
模式说明适用场景
只读扫描仅分析可回收空间,不实际删除容量评估阶段
删除模式清除无引用层并释放磁盘空间正式维护窗口

4.4 自动化脚本实现定期空间治理

在大规模数据环境中,存储空间的高效管理至关重要。通过自动化脚本定期执行空间治理任务,可有效清理冗余数据、压缩文件碎片并优化目录结构。
核心治理逻辑
使用Python结合cron定时任务,实现每日凌晨自动扫描指定存储路径:
import os
import shutil
from datetime import datetime, timedelta

# 清理7天前的日志文件
def clean_old_files(directory, days=7):
    cutoff = datetime.now() - timedelta(days=days)
    for filename in os.listdir(directory):
        filepath = os.path.join(directory, filename)
        if os.path.isfile(filepath) and datetime.fromtimestamp(os.path.getctime(filepath)) < cutoff:
            os.remove(filepath)
            print(f"Deleted: {filepath}")
该函数遍历目标目录,根据文件创建时间判断是否超过保留周期,符合条件则删除。参数days控制保留策略,支持灵活配置。
执行策略与监控
  • 通过crontab设置每日0点执行:0 0 * * * /usr/bin/python3 /opt/scripts/cleanup.py
  • 输出日志重定向至中央日志系统,便于审计追踪
  • 关键目录启用备份保护,防止误删

第五章:总结与最佳实践建议

性能监控与调优策略
在生产环境中,持续监控系统性能是保障服务稳定的关键。推荐使用 Prometheus 与 Grafana 搭建可视化监控体系,定期采集关键指标如 CPU 使用率、内存占用、GC 暂停时间等。
  • 设置告警规则,当请求延迟超过 200ms 时触发通知
  • 定期分析慢查询日志,优化数据库索引结构
  • 使用 pprof 工具定位 Go 应用中的性能瓶颈
代码健壮性提升方案
通过引入重试机制与熔断器模式,可显著提升微服务间的容错能力。以下为使用 Go 实现的带指数退避的 HTTP 请求示例:

func retryableGet(url string) (*http.Response, error) {
    var resp *http.Response
    var err error
    backoff := time.Millisecond * 100
    for i := 0; i < 3; i++ {
        resp, err = http.Get(url)
        if err == nil {
            return resp, nil
        }
        time.Sleep(backoff)
        backoff *= 2 // 指数退避
    }
    return nil, err
}
部署安全加固建议
风险项修复建议
容器以 root 用户运行使用非特权用户启动进程
敏感配置硬编码集成 Vault 或 KMS 进行密钥管理
部署流程图:
代码提交 → CI 构建镜像 → 安全扫描 → 推送私有 Registry → Helm 部署到 Kubernetes → 流量灰度发布
Docker篇之镜像打标签tag 日常线上活动中,当我们对系统进行开发时,做容器化管理,因为每一个版本不同,可能随着业务量的产生,需求的迭代更新,不同版本所需要的环境不同。 因此,为了满足这样的问题,我们通常做的就是对每一个版本来打标签。 当某个场景需要用到哪个版本时,我们可以随时切换,只需要切换版本即可。 在Docker中实现该功能,可用于给镜像来打标签。 1、当正式运行容器时,使用的镜像如果本地中不存在,docker就会... 阅读详情

相关推荐

【网络教程】如何解决Docker删除镜像和容器后磁盘空间未释放的问题

如何解决Docker删除镜像和容器后磁盘空间未释放的问题

XiaoqiangClub的博客 4551

关于Docker容器删除镜像和容器后,C盘内存并未释放问题的解决办法(超详细)

构建工具服务器镜像命令:docker-compose up --build构建成功后,即使使用docker删除的报错的项目,去查看镜像(Image),处于statusin use也会持续产生内存垃圾,需要把镜像状态退出使用,删除后,再尝试上述的释放过程。

xp2233的博客 5008

docker清理大杀器/docker的overlay、overlay2文件占用磁盘太大的解决办法

docker清理大杀器/docker的overlay、overlay2文件占用磁盘太大的解决办法

解决Docker中手动删除文件不释放空间的问题

最近在清理WEB日志时发现映射Docker里的目录内文件手动删除后,系统并没有释放相应的空间,Docker重启、docker system prune也没用。 该问题的表现为通过df命令查看能看到占用几百G,但用du 命令却显示没占用多少。 通过现象判断是在删除nginx日志的时候系统还有进程正在使用该文件,所以并没有释放空间。 这时通过 lsof | grep deleted 命令可以查看到有nginx进程使用的文件大小与占用的大小相符,这时通过kill -9 命令强制退出相关进程(需要找到父进程)

为梦想奋斗 8669

Allegro PCB设计小技巧:如何用Shift键快速平移复制走线和过孔?

本文深入解析了Allegro PCB设计中利用Shift键进行平移复制的核心技巧。通过对比传统复制粘贴流程,详细演示了如何高效、精准地批量复制走线和过孔,尤其适用于创建等间距电源总线、过孔阵列等场景,能显著提升PCB设计效率与准确性。

pz89012345的博客 554

西门子S7-200 SMART控制步进电机(二)

目录 一、开环运动控制方法 二、运动轴概述 三、配置运动控制向导 一、开环运动控制方法 S7-200 SMART CPU提供三种开环运动控制的方法: 1、脉冲宽度调制(PWM):内置于CPU中,用于速度、位置或占空比的控制 2、脉冲串输出(PTO):内置于CPU中,用于指定长度脉冲或指定距离的控制 3、运动轴:内置于CPU总,用于速度和位置的控制。本文所讲的就是通过运动轴实现步进电机的运动控制。 SR20和ST20 CP...

qq_43134642的博客 2万+

解决docker删除镜像和容器之后,硬盘空间没有释放

利用下边方法可以解决,删除了镜像和容器,硬盘占用没有释放的问题。

weixin_42726887的博客 3392

用R搞定生态溯源:MixSIAR贝叶斯混合模型从安装到出图的保姆级教程

本文提供了一份详细的MixSIAR贝叶斯混合模型教程,涵盖从R环境配置、数据预处理到模型参数设置和可视化分析的完整流程。通过实战案例和常见问题解决方案,帮助生态学研究者快速掌握混合模型在生态溯源中的应用,提升数据分析效率。

weixin_42531516的博客 467

【Docker运维必修课】:为什么你删不掉镜像标签?真相只有老司机才知道

掌握Docker镜像标签删除难题的根源与解法,避免“删不掉”尴尬。详解镜像分层机制、标签与镜像ID关系,提供强制删除命令及清理脚本,适用于本地开发与生产环境维护。提升运维效率,告别存储冗余,值得收藏。

LearnFlow的博客 990

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3065

C#精准获取Windows已安装应用清单的完整方案

Windows已安装应用识别是IT资产管理、安全合规与自动化运维的基础能力。其核心原理在于突破文件系统表象,以注册表为可信数据源,分层解析HKLM/HKCU、64位/32位视图及MSI Products路径中的元数据。技术价值体现在可验证(如过滤SystemComponent=1)、可关联(通过ProductCode绑定补丁与许可证)、可操作(启动路径二次验证+卸载命令沙箱执行)。典型应用场景包括终端合规审计、软件资产清查、静默卸载脚本开发及多版本应用聚合分析。本文聚焦C#原生实现,覆盖注册表四路采集、La

weixin_33552698的博客 634

为什么你的Docker镜像在M1芯片上跑不起来?真相只有一个

解决M1芯片运行Docker镜像的常见问题,深入解析Docker跨平台兼容性原理。涵盖ARM架构适配、镜像多架构构建与QEMU模拟方案,提升开发效率。适用于Mac M1用户和容器化迁移场景,值得收藏。

BreakVein的博客 319

防火墙断网后Adobe软件还弹窗“THIS APP HAS BEEN DISABLED”?原来是科学上网导致的问题!用这个简单方法一键解决!

很多小伙伴在使用上网工具的时候时,突然遇到Adobe弹出“THIS APP HAS BEEN DISABLED”的烦人提示,这个非正版弹窗真的让人头疼!即使你之前尝试过,有时也不奏效,究其原因,原来是因为你使用了代理网络,这时Adobe的流量并不是走本地,而是走代理,导致防火墙的拦截无效。不用慌!今天我来教大家如何通过上网工具,轻松禁用Adobe验证的联网流量,彻底解决这个问题!

qq_34093397的博客 3万+

深度探索Docker镜像标签管理

本文深入探讨了Docker镜像标签管理的认知误区及企业级实践。作者通过一个简单的报错案例,揭示了Docker标签机制与常见软件版本管理的不同,特别是latest标签不会自动指向最新版本。通过一系列实验,验证了Docker标签的底层逻辑,并提出了从手动打标签到CI/CD集成的不同解决方案。最终,本文总结了企业级最佳实践,包括标签策略矩阵、版本推进流程和安全防护措施,强调了显式声明原则和通过官方文档验证的重要性。

weixin_74120671的博客 1366

【AMD | Docker】超级全面版本:在Docker中验证AMD GPU移动显卡可用性的方法

1. 安装ROCm Docker支持 ■AMD GPU驱动 ■ROCM ■Docker 2. 配置Docker使用ROCm 3. 使用官方ROCm Docker镜像 4. 使用Docker CLI参数访问GPU

静谧、淡雅 684

国科大学习资料--高级软件工程-复习题选择题答案

国科大学习资料–高级软件工程(罗铁坚 魏峻 刘丹)-复习题选择题答案 ’‘

无名何许人的博客 1165

docker一个镜像删除多个标签

Nginx,Docker,镜像相关视频讲解:Linux系统面试刷题——Nginx访问日志IP访问量排名前10命令什么是容器Docker介绍Docker镜像删除多个标签 在Docker中,镜像是用于创建容器的模板。每个镜像都可以有一个或多个标签,用于对其进行唯一标识和区分。有时候,我们可能需要删除一个镜像的多个标签,这...

weixin_32596893的博客 462

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Docker系列】Docker 镜像管理:删除无标签镜像的技巧

在 Docker 中,每个镜像通常都有一个或多个标签(tag),这些标签用于标识镜像的版本或特性。例如,中的18.04就是一个标签。然而,在某些情况下,镜像可能没有被赋予任何标签,这些镜像被称为"无标签"或"悬挂"(dangling)镜像。它们可能是由命令创建的,但未指定标签,或者是因为其他原因而遗留下来的。Docker 为我们提供了一个强大的工具来管理和部署容器化应用,但随之而来的是需要对 Docker 环境进行适当的维护和管理。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

查看Docker镜像仓库中镜像的所有标签

用 Docker 的人都知道,我们在查询远端镜像仓库中镜像的时候,在命令行只能看到镜像名,说明等信息,而看不到标签。因此,如果我想要查看镜像有哪些标签,就只能通过网页的方式查看,比如通过 https://hub.docker.com/ 查看,这样实在是太麻烦,于是乎,我想是不是可以写个小工具来干这个事呢?答案当然是肯定的。下面就看看怎样实现的吧。 写了个脚本 list_img_tags.sh,内容...

kongxx的专栏 3万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

你不知道的Docker仓库优化秘术:标签清理背后的成本控制真相

掌握Docker镜像仓库标签清理技巧,有效降低存储成本与管理复杂度。适用于CI/CD频繁构建场景,通过自动化策略清理冗余标签,释放空间并提升拉取效率。方法简单、效果显著,值得收藏。

FastDebug的博客 875

为什么docker rmi总是报错,标签删不掉?深度剖析底层机制与解决路径

掌握Docker镜像标签删除难题的根源与解法,深入解析镜像层共享机制及强制删除技巧,适用于开发测试环境清理。有效避免rmi报错,提升运维效率,方法实用可靠,值得收藏。

ByteGlow的博客 932

docker latest标签问题

latest标签,由于它的字面意思是“最新的”,所以很多时候也容易被误解,其实latest就是个普通标签,不要期望它是最新或最稳定的版本。它只是个名字,没有其它附加作用,更不会自动更新。:) 在Docker中,最容易产生误解的部分应该是latest这个标签。困惑主要是由于这个名字造成的,因为字面意思并不能表达它的真正含义。在本文中,我们来学习下latest标签的真正作用和如何正确使用它。 通常有两...

whatday的专栏 6743

为什么你的Docker环境越来越慢?立即执行这3步标签清理策略

解决Docker运行缓慢,高效管理镜像成关键。本文详解Docker镜像标签的删除策略,涵盖冗余标签识别、批量清理命令与自动化脚本应用,提升环境性能。三步操作简单实用,适用于开发与生产环境,值得收藏。

DevPath的博客 976

揭秘AI模型上线失败真相:Docker标签混乱如何毁掉你的MLOps流程

掌握AI模型上线关键:科学的Docker标签管理策略。本文深入解析AI模型版本的 Docker 标签管理在MLOps流程中的核心作用,揭示标签混乱导致部署失败的根源,提供标准化命名与自动化管理方案,提升团队协作效率与发布可靠性,值得收藏。

PixelIsle的博客 958

Docker DeviceMapper占用空间太大解决方案

参考:https://blog.csdn.net/CHENYUFENG1991/article/details/79839497

maoersong的专栏 5268
上一篇: 多阶段构建最佳实践,彻底解决Docker镜像臃肿问题
下一篇: 为什么你的容器频繁被OOMKilled?(Docker Compose deploy资源限制深度剖析)
LiteTrans
博客等级 码龄1年 128粉丝 2009原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值