首页 > 其他分享 >清理docker镜像

清理docker镜像

时间:2023-06-10 16:55:10浏览次数:37  
标签:-- image 清理 system filter 镜像 docker

brief

本地出现none image是由于构建过程异常导致残存的image,占用空间,或者历史image

resolve

docker system

[root@jenkins-triad ~]# docker system --help
Usage:	docker system COMMAND
Manage Docker

Commands:
  df          Show docker disk usage   //show
  events      Get real time events from the server
  info        Display system-wide information
  prune       Remove unused data      //remove

Run 'docker system COMMAND --help' for more information on a command.
[root@jenkins-triad ~]# docker system prune --help

Usage:	docker system prune [OPTIONS]

Remove unused data

Options:
  -a, --all             Remove all unused images not just dangling ones
      --filter filter   Provide filter values (e.g. 'label=<key>=<value>')
  -f, --force           Do not prompt for confirmation
      --volumes         Prune volumes

image

#docker image prune
[root@hot-master-k8s ~]# docker image prune --help
Usage:  docker image prune [OPTIONS]
Remove unused images
Options:
  -a, --all             Remove all unused images, not just dangling ones
      --filter filter   Provide filter values (e.g. 'until=<timestamp>')
  -f, --force           Do not prompt for confirmation


#docker images --filter
  dangling (boolean - true or false)  //none
  label (label=<key> or label=<key>=<value>)
  before (<image-name>[:<tag>], <image id> or <image@digest>) - filter images created before given id or references
  since (<image-name>[:<tag>], <image id> or <image@digest>) - filter images created since given id or references


docker rmi $(docker images -f 'dangling=true' -q)  //悬空镜像,构建中间过程的image
docker image prune -a -f --filter "until=2400h"   //清理过去3个月的历史镜像

practice

[root@jenkins-triad ~]# docker system df   //show image/container/volume
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              435                 2                   30.14GB             29.99GB (99%)
Containers          3                   0                   0B                  0B
Local Volumes       0                   0                   0B                  0B
Build Cache         0                   0                   0B                  0B

docker system df -v   // show detail

不同状态的镜像

  • 已使用镜像(used image)指所有已被容器(包括已停止的)关联的镜像。即 docker ps -a 看到的所有容器使用的镜像。
  • 未引用镜像(unreferenced image)没有被分配或使用在容器中的镜像,但它有 Tag 信息
  • 悬空镜像(dangling image)未配置任何 Tag (也就无法被引用)的镜像,所以悬空。这通常是由于镜像 build 的时候没有指定 -t 参数配置 Tag 导致的
  • 挂起的卷(dangling Volume)类似的,dangling=true 的 Volume 表示没有被任何容器引用的卷。

docker system prune 自动清理:

该指令默认会清除所有如下资源:
已停止的容器(container)
未被任何容器所使用的卷(volume)
未被任何容器所关联的网络(network)
所有悬空镜像(image)。
该指令默认只会清除悬空镜像,未被使用的镜像不会被删除

添加-a 或 --all参数后,可以一并清除所有未使用的镜像和悬空镜像。
可以添加-f 或 --force参数用以忽略相关告警确认信息。
指令结尾处会显示总计清理释放的空间大小

删除未被任何容器关联的引用卷

docker volume rm $(docker volume ls -qf dangling=true)

删除已退出的容器

docker rm -v $(docker ps -qa -f status=exited)

删除状态为dead的容器

docker rm -v $(docker ps -qa -f status=dead)

标签:--,image,清理,system,filter,镜像,docker
From: https://www.cnblogs.com/xiaochina/p/17471528.html

相关文章

  • 【React工作记录九十六】docker部署前后端项目在云服务器
    前言大家好我是歌谣最近开始前端和后端的学习需要部署项目在服务器上面命令部分目前只会部署的部分前端前彻底端的目录是在/ngng/html下面dockerrestartngng重新启动容器前端文件放置后端后端的文件在project下面步骤1dockerstopgeo2dockerrm-fgeo3dockerrmi-fgg......
  • 9、Dockerfile指令与指令运行的阶段
    Dockerfile指令FROM(指定基础镜像)LABEL(贴标签)RUN(执行shell命令)ENV(设置环境变量,全局可用,但只能放在FROM后面)COPY(复制文本)ADD(复制和解包文件)CMD(容器启动命令)ENTRYPOINT(入口点,搭配脚本做初始化)ARG(在build阶段设置环境变量,可放在FROM前面,供FROM引用变量)VOLUME(匿名卷......
  • 2. docker的入门
    1.物理机演进到虚拟化部署1.1物理机部署在早期的项目部署中是非常繁琐和复杂的,通常就是一台物理机跑起来一个项目部署非常慢成本很高资源浪费难以扩展和迁移1.2虚拟部署 1.2.1虚拟机虚拟机的出现可以很好的解决物理机部署存在的问题一台物理机可以部署多个app......
  • 脚本安装Dockerfile安装Jenkins
    #1.编写Docker安装脚本[root@ip-10-0-12-212~]#vimIns_Docker.sh#!/usr/bin/bash#Author:wl#Time:2023-06-0911:54:22#Name:Ins_Docker.sh#Version:1.0#Discription:Tosource/etc/init.d/functionsrely_software=(yum-utilsdevice-mapper-persistent-......
  • Docker安装Jenkins报错后升级Centos7升级内核
    很久没碰docker了,昨晚在虚拟机上用dockerpulljenkinsci/blueocean安装Jenkins启动报如下错误:java.net.UnknownHostException:updates.jenkins.io最后发现容器pingdocker0都是不通的,尴尬,想想应该是内核或docker版本的问题,安装的centos7内核版本是3.10,升级到最新稳定版5.x后重......
  • 8、利用构建好的Ubuntu镜像构建Nginx镜像
    利用DockerFile文件执行dockerbuild基于基础镜像自动构建nginx镜像做的时候可以找一台宿主机边执行命令,边写Dockerfile应用级镜像一定要有一个进程是前台执行,进程存在不至于程序启动就退出CMD:容器启动命令第一步:按照业务类型或系统类型等方式划分创建目录环境,方便后期镜像比较多......
  • 使用阿里云快速构建海外镜像实战案例
    目录一.github创建项目1.注册账号2.登录github账号3.创建仓库4.添加一个Dockerfile文件二.登录阿里云创建镜像仓库1.进入容器镜像服务页面2.创建命名空间3.创建镜像仓库3.1配置仓库信息3.2配置代码源3.2.1选择代码源3.2.2绑定github账号3.2.3绑定成功3.2.4配置代码源3.2.5......
  • 云原生之使用Docker部署Laverna笔记工具
    (云原生之使用Docker部署Laverna笔记工具)一、Laverna介绍Laverna是一个开源的、用JavaScript编写的笔记网络应用程序,可以部署在个人服务器上使用。二、检查本地环境状态1.检查系统版本[root@server001~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"......
  • docker 核心原理
    docker网络docker安装后自动创建3种网络dockernetworkls查看:bridgehost类似Vmware的NAT模式。none通过dockerinfo可见支持的网络类型:Network:bridgehostipvlanmacvlannulloverlaydocker使用Linux桥接网卡,在宿主机虚拟一个docker容器网桥(docker0),docker启动......
  • Docker配置完镜像加速重启失败
    systemctlstatusdocker-l●docker.service-DockerApplicationContainerEngineLoaded:loaded(/usr/lib/systemd/system/docker.service;enabled;vendorpreset:disabled)Active:failed(Result:start-limit)since六2023-06-1009:09:01CST;1m......