在 Ubuntu(无论是系统镜像、Docker 镜像,还是虚拟机镜像)中“节省空间”,可以从系统层面和镜像构建层面两个角度来做。下面分场景说明,最常用的是 Docker Ubuntu 镜像优化 和 系统/虚拟机镜像瘦身。
不要用 ubuntu:latest(通常 >70MB),可选:
ubuntu:slim(更小,约 30MB)alpine(非 Ubuntu,但极小,约 5MB)FROM ubuntu:slim
每一层都会占用空间:
RUN apt-get update && \
apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*
⚠️ 一定要清缓存:
rm -rf /var/lib/apt/lists/*
apt-get clean
rm -rf /var/lib/apt/lists/*
rm -rf /tmp/*
apt-get install -y --no-install-recommends curl
FROM ubuntu AS build
RUN apt install -y gcc && gcc main.c -o app
FROM ubuntu:slim
COPY --from=build /app /app
sudo apt autoremove
sudo apt purge snapd
sudo apt clean
sudo rm -rf /var/cache/apt/archives/*
sudo journalctl --vacuum-time=7d
dpkg -l | grep linux-image
sudo apt purge linux-image-旧版本
sudo snap remove --purge lxd
sudo apt purge snapd
qemu-img convert -O qcow2zerofree 清零空闲空间后压缩debootstrapsudo debootstrap --variant=minbase focal /mini-ubuntu
可做到 <50MB 的可用系统。
| 场景 | 推荐做法 |
|---|---|
| Docker | ubuntu:slim + 清缓存 |
| 云镜像 | 删 snap + autoremove |
| 本地 VM | 压缩 + 清日志 |
| 极致小 | debootstrap / Alpine |
如果你能说明是 Docker / 虚拟机 / 云服务器 / 自制 ISO,我可以给你更精确的命令。