• docker “no space left on device”问题解决


    Linux环境上使用docker执行命令时遇到了 “no space left on device”可能是存储镜像的路径磁盘满了

    1、先使用docker info查看docker的信息

    docker info

    可以看到docker的根路径是 /var/lib/docker

    2、查看docker根路径的磁盘占用率
    由上可知我们docker的磁盘占有率已经满了,需要清理

    1 df -Th /var/lib/docker
    2 
    3 /dev/mapper/cl_centos7--18--21-root xfs    90G   90G   0G  100% /
    4 
    5 /dev/mapper/cl_centos7--18--21-root xfs    90G   90G   0G  100% /

    3、清理无效数据文件
    切换到docker根路径,查找占用空间大的文件,并根据情况清理文件

    1 cd /var/lib/docker
    2 
    3 ll -h

    4、

    清理docker环境已经停止的容器

    查看所有已经停止的容器

    清理docker环境已经停止的容器
    
    查看所有已经停止的容器
    
    docker ps -a|grep Exited
    
    方法一:删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
    
    docker rm $(docker ps -a -q)
    
    方法二:根据容器的状态,删除Exited状态的容器
    
    docker rm $(docker ps -qf status=exited)
    
    方法三:docker 1.13版本以后,可以使用 docker system 或 docker container命令清理容器。
    docker container prune 删除已停用容器
    
    docker container prune
    
    docker system prune 删除关闭的容器、无用的数据卷和网络,以及dangling镜像
    docker system prune -a 命令清理得更加彻底,可以将没有容器使用Docker的镜像都删掉
    
    docker system prune
    
    方法四:根据容器的ID删除容器
    显示所有状态为Exited的容器,取出这些容器的ID
    
    docker ps -a|grep Exited|awk '{print $1}'
    
    根据ID删除容器
    
    docker rm `docker ps -a|grep Exited|awk '{print $1}'`
  • 相关阅读:
    利用ResultFilter实现asp.net mvc3 页面静态化
    c#的DateTime.Now函数详解
    C#中使用DES和AES加密解密
    C#实现DES加密解密,AES加密解密
    MyEclipse的破解代码,适用各个版本
    C# DataGridView分页显示
    C# 对话框使用大全
    C# 通过串口发送短信
    C# axWindowsMediaPlayer制作播放器
    C#关于log4net(Log For Net)
  • 原文地址:https://www.cnblogs.com/gide/p/15944862.html
Copyright © 2020-2023  润新知