0%

解决“Docker have no space left on device”问题

异常

像往常一样部署项目./deploy.sh xx.jar时,失败报Docker have no space left on device错误。于是我就用docker system prune删除无用的doker数据,但是还是依然报此错误。那就要想占据磁盘空间的主要因素一般是日志和docker所占的空间了,所以我们可以进行如下操作。

解决办法

删除日志

  1. df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
    df -h
  2. 查看日志磁盘使用率
    du /var/log/ -h
  3. 进入日志目录,查看
    cd /var/log
    ls -alh
    这里面的日志一般都能删除,删除占磁盘空间大的,如删除文件前缀为btmp的
    rm btmp-* -f
  4. 再次查看磁盘信息
    df

删除docker所占磁盘空间

  1. 查看镜像
    docker images
  2. 批量删除无用镜像
    docker images |cut -c41-53 |xargs docker rmi
    此条命令只能删除不重名且没有依赖的镜像
  3. 删除重名并且有依赖的废弃的镜像,例如删除5个月前的镜像
    docker images |grep '5 months ago' |cut -c41-53 |xargs docker rmi -f
  4. df再次查看磁盘所占空间
    df

    最后附送查看定时任务命令,😄
    crontab -l
欣赏此文?求鼓励,求支持!