# 已终止 - 构建进程因内存不足而被终止。请尝试增加内存限制。

- **ID:** `cicd/docker-build-oom-killed`
- **领域:** cicd
- **类别:** resource_error
- **错误码:** `OOM_KILLED`
- **验证级别:** ai_generated
- **修复率:** 78%

## 根因

Docker 构建过程超过了运行器或主机上的可用内存，通常是由于大型多阶段构建、繁重的编译步骤或 CI 中资源分配不足。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Docker 24.0.7 | active | — | — |
| Docker 25.0.0 | active | — | — |
| GitHub Actions runner v2.315.0 | active | — | — |

## 解决方案

1. ```
   在 CI 配置中增加内存限制（例如 GitHub Actions：在作业定义中添加 `options: --memory=8g`，或 Docker Compose：`mem_limit: 8g`）。
   ```
2. ```
   通过合并 RUN 命令优化 Dockerfile：`RUN apt-get update && apt-get install -y package1 package2 && apt-get clean` 以减少层数和中间存储。
   ```
3. ```
   使用多阶段构建和精简基础镜像（例如 `FROM node:18-alpine` 代替 `FROM node:18`）以减少构建期间的内存占用。
   ```

## 无效尝试

- **** — Adding more RUN layers without combining them; each layer creates additional intermediate containers that increase memory pressure. (60% 失败率)
- **** — Removing --memory flag entirely thinking it's restrictive; the default limit might be too low, but removing it doesn't increase available memory. (50% 失败率)
- **** — Ignoring the error and retrying; the build will likely fail again at the same point unless memory is increased or the Dockerfile is optimized. (90% 失败率)
