清理或删除docker无用镜像的操作方法

目录
  • 清除docker无用镜像
  • 一、查看 docker 占用的资源
  • 二、只删除那些未被使用的资源
    • 1、通过标签删除镜像
    • 2、通过 ID 删除镜像
    • 3、删除镜像的限制
    • 4、清理镜像
  • PS:docker 批量删除无用的容器或镜像

清除docker无用镜像

一、查看 docker 占用的资源

在进行资源清理之前我们有必要搞清楚 docker 都占用了哪些系统的资源。这需要综合使用不同的命令来完成。

docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。

docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。

docker volume ls:列出数据卷。

docker network ls:列出 network。

docker info:显示系统级别的信息,比如容器和镜像的数量等。

通过这些命令查看 docker 使用的资源情况后,相信你已经决定要清理 docker 占用的一些资源了!让我们先从那些未被使用的资源开始。

二、只删除那些未被使用的资源

Docker 提供了方便的 docker system prune 命令来删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache:

$ docker system prune

使用以下命令清理已经停止运行的docker容器

 docker rm $(docker ps --all -q -f status=exited)

1、通过标签删除镜像

通过如下两个都可以删除镜像:

docker rmi [image]

或者:

docker image rm  [image]

支持的子命令如下:

  • -f, -force: 强制删除镜像,即便有容器引用该镜像;
  • -no-prune: 不要删除未带标签的父镜像;

2、通过 ID 删除镜像

除了通过标签名称来删除镜像,我们还可以通过制定镜像 ID, 来删除镜像,如:

docker rmi ID

一旦制定了通过 ID 来删除镜像,它会先尝试删除所有指向该镜像的标签,然后在删除镜像本身。

3、删除镜像的限制

  • 先删除引用这个镜像的容器;
  • 再删除这个镜像;

也就是,根据上图中提示的,引用该镜像的容器 ID, 执行删除命令:

docker rm  ID

然后,再执行删除镜像的命令:

docker rmi ID

4、清理镜像

我们在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过以下命令进行清理:

docker image prune

它支持的子命令有:

  • -a, --all: 删除所有没有用的镜像,而不仅仅是临时文件;
  • -f, --force:强制删除镜像文件,无需弹出提示确认;

PS:docker 批量删除无用的容器或镜像

docker rm `docker ps -a | grep Exited | awk '{print $1}'`   删除异常停止的docker容器

docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`  删除名称或标签为none的镜像

到此这篇关于清除或删除docker无用镜像的操作方法的文章就介绍到这了,更多相关docker清理删除无用镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker 删除及清理镜像的方法

    目录 一.通过标签删除镜像 二.通过ID删除镜像 三.删除镜像的限制 四.清理镜像 一.通过标签删除镜像 通过如下两个都可以删除镜像: docker rmi [image] 或者: docker image rm [image] 支持的子命令如下: -f, -force: 强制删除镜像,即便有容器引用该镜像: -no-prune: 不要删除未带标签的父镜像: 例如,我们想删除上章节创建的 allen_mysql:5.7 镜像,命令如下: docker rmi allen_mysql:5.7 从上

  • docker删除none镜像的操作方法

    目录 docker删除none镜像 docker none镜像 PS:docker 如何删除none镜像 docker删除none镜像 1.使用git bash进入到docker文件夹 2.查询所有的none镜像 docker images | grep none 3.查询所有的none镜像的id docker images | grep none | awk '{print $3}' 4.删除所有的none镜像 docker images | grep none | awk '{print $

  • Docker中如何删除image(镜像)的方法

    docker中删除images的命令是docker rmi,但有时候执行此命令并不能删除images [yaxin@ubox ~] $docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE eg_sshd latest ed9c93747fe1 45 hours ago 329.8 MB CentOS65 latest e55a74a32125 2 days ago 360.6 MB [yaxin@ubox ~]$docker rmi

  • Docker 彻底删除私有库镜像的操作

    首先看看网上一般的做法 私有库默认是不支持删除镜像的,需要修改config.yml配置文件,在storage节点下加入 delete: enabled: true ,然后重启私有库. docker 提供的镜像删除api为: DELETE ip:端口/v2/<repository>/manifests/<reference> repository 为镜像的repository reference 为镜像push成功后生成的 digest:sha256 值 获取 digest : cu

  • Docker 删除镜像的实现

    删除镜像 如果要删除本地的镜像,可以使用 docker rmi (注意rm为删除容器,而rmi为删除镜像,其中i代表image)命令,它的具体语法如下: docker rmi [OPTIONS] IMAGE [IMAGE…] 其中: docker rmi:Docker删除镜像的命令关键词: OPTIIONS: 命令选项,-f强制删除镜像: IMAGE:需要删除的镜像.这里的镜像可以用“镜像短ID”.“镜像长ID”.“镜像名”.“镜像的digest”来标识. 使用docker images --d

  • Docker 批量删除容器或镜像的操作方法

    目录 删除所有容器 删除所有镜像 按条件删除镜像 删除所有容器 一.首先需要停止所有运行中的容器 docker stop`docker ps -a -q` docker ps -a -q 意思是列出所有容器(包括未运行的),只显示容器编号,其中 -a : 显示所有的容器,包括未运行的. -q : 静默模式,只显示容器编号. 二.删除所有容器,将上面命令中的 stop 改为 rm 即可: docker rm `docker ps -a -q` 删除所有镜像 docker rmi `docker i

  • Docker和镜像的操作方法

    查找镜像 我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/ 我们也可以使用 docker search 命令来搜索镜像.比如我们需要一个 httpd 的镜像来作为我们的 web 服务.我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像. docker search httpd 拖取镜像 我们决定使用上图中的 httpd 官方版本的镜像,使用命令 docker pull 来下载镜像.

  • 定时清理docker私服镜像的方法

    使用CI构建docker镜像进行发布极大促进了大家的版本发布效率,于是镜像仓库也就急速膨胀.为了缓解磁盘压力,我们需要设置一些清理策略. 对于不同docker镜像的清理策略应该是不同的.比如,默认保留最近5个版本的镜像,对于工具类的image保留全部,对于业务类的image保留一个月之类的. 简单保留5个image的方式如下: 下载 https://github.com/mlabouardy/nexus-cli , 使用cli来执行删除. 下载 wget https://s3.eu-west-2

  • 删除docker里建立容器的操作方法

    怎么删除docker里建立的容器 1.首先使用docker -s -a命令列出所有容器 # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f2582758af13 ubuntu "/bin/bash" 2 hours ago Up 2 hours first_ubuntu 6b5b5a969241 centos "/bin/bash" 2 days ago Exited (0)

  • 解决Docker Image镜像无法删除问题的方法

    前言 Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议.通过分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境.由于众多新颖的特性以及项目本身的开放性,Docker在不到两年的时间里迅速获得诸多IT厂商的参与,其中更是包括Google.Microsoft.VMware等业界行业领导者.同时,Dock

  • 删除docker images中为none的镜像操作

    由于平时一直使用docker build 命令才生成一个镜像,有时候由于代码跟新频繁就会产生很多的none的image,最近想着清除一下. 于是就写了以下脚本: docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm docker images|grep non

  • 如何完全清理你的Docker数据

    目录 定期修剪(prune) 镜像驱逐 容器清理 网路整理 卷的蒸发 完全干净的开始 Docker 不会对你的系统进行任何配置更改--但是它会占用大量的磁盘空间.(使用 Docker)不一会儿,当你输入如下命令时,就会返回一些可怕的使用情况统计信息: docker system df 幸运的是,Docker 允许您从未使用的镜像.容器以及卷中回收磁盘空间. 定期修剪(prune) 为了安全地删除已停止的容器,未使用的网络和悬挂的图像,最好每隔一段时间运行以下命令: docker system p

  • Docker创建镜像、怎么修改、上传镜像等详细介绍

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 二.修改已有镜像 1.先使用下载的镜像启动容器. $ docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到. 2.

  • Docker 制作镜像Dockerfile和commit操作

    构建镜像 构建镜像主要有两种方式: 使用docker commit命令从运行中的容器提交为镜像: 使用docker build命令从 Dockerfile 构建镜像. 首先介绍下如何从运行中的容器提交为镜像.我依旧使用 busybox 镜像举例,使用以下命令创建一个名为 busybox 的容器并进入 busybox 容器. $ docker run --rm --name=busybox -it busybox sh 执行完上面的命令后,当前窗口会启动一个 busybox 容器并且进入容器中.在

  • Docker的镜像制作与整套项目一键打包部署的实现

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr.chen RUN 构建镜像时运行的Shell命令.例如:RUN ["yum","install","httpd"]   或者RUN yum install httpd CMD 运行容器时执行的Shell命令(可以被运行时传递的参数覆盖).例如:CMD

随机推荐