服务器剩余空间充足但Docker提示磁盘不足问题求助
Docker-CKAN环境提示磁盘不足但df显示有剩余空间的排查方案
问题描述
云服务器上部署的Docker-CKAN环境出现磁盘空间不足报错,但执行df -h显示宿主机/dev/vda1仍有23GB可用空间。
错误日志:
OSError: [Errno 28] No space left on device: '/tmp/default//sessions/container_file_lock/
宿主机磁盘使用情况:
$df -h Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 394M 600K 393M 1% /run /dev/vda1 137G 108G 23G 83% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 394M 0 394M 0% /run/user/1002
排查与解决建议
- 检查inode使用情况:
df -h仅显示磁盘容量,inode耗尽会触发相同报错。执行df -i查看inode使用率,若为100%,需清理大量小文件(如Docker日志、临时文件),避免生成过多小文件。 - 核查容器tmpfs限制:错误指向容器内/tmp目录,若容器通过
--tmpfs或docker-compose配置了tmpfs挂载,可能容量设置过小。调整配置增大tmpfs容量,例如--tmpfs /tmp:size=1G。 - 清理Docker冗余资源:执行
docker system df查看Docker镜像、容器、卷的空间占用,通过以下命令清理无用资源:docker system prune -a:清理停止的容器、未使用的镜像和网络(操作前确认无需保留相关资源)docker volume prune:清理未被容器使用的卷
- 检查宿主机/tmp空间:若容器/tmp挂载到宿主机/tmp,查看宿主机/tmp使用情况:
du -sh /tmp。若空间不足,清理临时文件,或修改/etc/fstab中tmpfs的size参数增大容量。 - 验证容器内磁盘状态:进入CKAN容器执行
df -h,查看容器内/tmp及其他分区的使用情况,确认是否存在容器内磁盘配额限制或分区满的情况。
内容的提问来源于stack exchange,提问作者Reine
相关产品推荐
相关产品推荐

