本质是根分区空间不足,解决关键是释放空间或重定向存储路径:一、安装前清理yum缓存、旧内核和日志;二、迁移/var/lib/docker到大容量分区并配置data-root;三、分步安装跳过非核心组件;四、虚拟机用户应先扩容磁盘再安装。
安装 docker engine 时提示“空间不足”,本质是系统根分区(通常是 /)剩余空间不够,而 docker 默认将所有数据(镜像、容器、卷、构建缓存等)存放在 /var/lib/docker 下。解决的关键不是跳过安装,而是提前释放空间或重定向存储路径。
一、安装前快速释放系统盘空间
在执行 yum install docker-ce 前,先清理可能占用大量空间的临时内容:
- 清除旧的 yum 缓存:
sudo yum clean all - 卸载已废弃的旧内核(CentOS/RHEL):
sudo package-cleanup --oldkernels --count=1 - 删除无用的 rpm 包缓存:
sudo rm -rf /var/cache/yum - 检查大文件:
sudo du -sh /var/log/* /tmp/* 2>/dev/null | sort -hr | head -10,酌情清理日志或临时文件
二、改用非根分区安装(推荐)
如果系统有其他大容量挂载点(如 /home、/data),可在安装后立即将 /var/lib/docker 迁移过去,避免反复触发空间告警:
- 停服务:
sudo systemctl stop docker - 迁移数据(用
rsync保证完整性):sudo rsync -avz /var/lib/docker/ /home/docker/ - 修改配置:
sudo tee /etc/docker/daemon.json <<EOF<br>{ "data-root": "/home/docker" }<br>EOF - 重载并重启:
sudo systemctl daemon-reload && sudo systemctl start docker - 验证:
docker info | grep "Docker Root Dir"应显示新路径
三、安装时绕过依赖空间检查(仅应急)
某些情况下,yum 因依赖包(如 containerd.io、docker-ce-rootless-extras)体积大而报错。可分步安装,跳过非核心组件:
- 先装最小依赖:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 - 手动下载并本地安装关键 RPM(从 阿里云镜像站 获取
containerd.io和docker-ce-cli) - 最后安装主包:
sudo yum install docker-ce --setopt=tsflags=nodocs(跳过文档减少约 50–100MB)
四、虚拟机用户:优先扩展磁盘再安装
若 Docker 运行在 VMware/VirtualBox 虚拟机中,且根分区本身已接近满载(如 df -h / 显示使用率 >90%),建议直接扩容磁盘:
- 关机 → 在虚拟机管理器中将磁盘大小调大(如从 30GB → 60GB)
- 启动后用
parted扩展分区,再用pvresize+lvextend扩充逻辑卷 - 执行
resize2fs或xfs_growfs /生效新空间 - 再进行 Docker 安装,避免后续频繁迁移


















