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 $3}' | xargs docker rmi

docker none镜像

有效的 none 镜像
Docker文件系统的组成,docker镜像是由很多 layers组成的,每个 layer之间有父子关系,所有的docker文件系统层默认都存储在/var/lib/docker/graph目录下,docker称之为图层数据库。

最后做一个总结< none>:< none> 镜像是一种中间镜像,我们可以使用docker images -a来看到,他们不会造成硬盘空间占用的问题(因为这是镜像的父层,必须存在的),但是会给我们的判断带来迷惑。

无效的 none 镜像

另一种类型的 < none>:< none> 镜像是dangling images ,这种类型会造成磁盘空间占用问题。

像Java和Golang这种编程语言都有一个内存区,这个内存区不会关联任何的代码。这些语言的垃圾回收系统优先回收这块区域的空间,将他返回给堆内存,所以这块内存区对于之后的内存分配是有用的

docker的悬挂(dangling)文件系统与上面的原理类似,他是没有被使用到的并且不会关联任何镜像,因此我们需要一种机制去清理这些悬空镜像。

我们在上文已经提到了有效的< none>镜像,他们是一种中间层,那无效的< none>镜像又是怎么出现的?这些 dangling镜像主要是我们触发 docker build 和 docker pull命令产生的。

使用下面的命令可以清理

docker rmi $(docker images -f "dangling=true" -q)

PS:docker 如何删除none镜像

删除none的镜像,要先删除镜像中的容器。要删除镜像中的容器,必须先停止容器。

$ docker images

$ docker rmi $(docker images | grep "none" | awk '{print $3}')直接删除带none的镜像,直接报错了。提示先停止容器。

$ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器

$ docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') //删除容器

$ docker rmi $(docker images | grep "none" | awk '{print $3}') //删除镜像

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

(0)

相关推荐

  • 如何删除docker-register镜像及none无效镜像详解

    背景介绍 我们大家在服务器上搭建了docker registry,所有的构建镜像都会集中在一个服务器上,久而久之硬盘就被塞满了.本文会着重介绍两种清理方式.一是<none>标签的镜像,二是删除docker物理镜像.下面话不多说了,来一起看看详细的介绍吧. docker<none>镜像 有效的 none 镜像 为了理解 <none> 镜像,我们先要理解 Docker镜像系统的工作机制,以及 layers是如何组织起来的. 当我拉取一个stresser镜像的时候,运行 do

  • docker 如何删除none镜像

    删除none的镜像,要先删除镜像中的容器.要删除镜像中的容器,必须先停止容器. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 168b258ceea3 34 seconds ago 460.6 MB <none> <none> b2c5d34941c6 23 minutes ago 588.7 MB tankzhang/es v1 85fc66558c37 13 days

  • Docker使用Prune命令清理none镜像

    目录 none镜像的产生和困惑 如何清理none对象 修剪镜像 清理无容器使用的镜像 修剪容器 修剪卷 修剪网络 修剪一切 none镜像的产生和困惑 我们偶尔会看到 none镜像(虚悬镜像),那是因为 构建镜像过程中因为脚本错误导致很多镜像构建终止,产生很多none标签的版本 手动构建镜像的时候没有进行提交,遗留来的垃圾镜像 这些镜像占据较大的存储空间,需要删除 如下所示 root@instance-o70no2nw:~# docker images -a REPOSITORY TAG IMAG

  • Docker load之后镜像名字为none问题解决方法

    近期,我发现,将镜像压缩包使用docker load -i 命令之后,镜像的名字和标签都是none,每次都需要重命名镜像,很是麻烦 这个问题的根本在于这个镜像压缩包在打包的时候操作不当所导致 例如,使用镜像ID打包的话导致解压的出来的镜像没有名字 docker save -o redis.tar 7864316753 因此,推荐使用镜像的名字进行打包,例如: docker save -o redis.tar redis:5.0.2 此方式打包的镜像,解压出来就有镜像名称了 另外,附上重命名镜像的

  • 详解docker强制批量删除none的image镜像

    说正题,今天遇到的问题是自己在开发机做坏了几个image镜像,删不了   我想大家也遇到过这样类似的问题  -. 他的名字和tag都是为none,空- 以前看过一个帖子说,给他标记一个tag,就可以干掉,瞎扯- [ruifengyun@bj-buzz-dev01 extractor_docker]$ [ruifengyun@bj-buzz-dev01 extractor_docker]$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL

  • 删除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加载新的镜像后repository和tag名称都为none的问题

    可以使用命令: docker tag [image id] [name]:[版本] 例如: docker tag b03b74b01d97 docker-redis:0.0.1 补充知识:docker的save和load 我就废话不多说了,大家还是直接看代码吧~ 实战 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE clearlinux latest 32685d114002 7 days ago 62

  • 删除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和镜像的操作方法

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

  • Docker 技巧之删除Docker容器和镜像

    公司业务在生产环境100多台服务器上用了docker,已经有大半年了,可是最近发现,每个服务器上的各种镜像好多好乱,就想批量删除镜像,需要的来看一下把. 删除所有未运行 Docker 容器 docker rm $(docker ps -a -q) 删除所有 Docker 镜像 删除所有未打 tag 的镜像 docker rmi $(docker images -q | awk '/^<none>/ { print $3 }') 删除所有镜像 docker rmi $(docker images

  • Docker 本地导入镜像/保存镜像/载入镜像/删除镜像的方法

    1.Docker导入本地镜像 有时候我们自己在本地或者其它小伙伴电脑上拷贝了一份镜像,有了这个镜像之后,我们可以把本地的镜像导入,使用docker import 命令. 例如这里下载了一个 alibaba-rocketmq-3.2.6.tar.gz 镜像文件,使用下列命令导入: [root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz | docker import - rocketmq:3.2.6(镜像名自己定义) [

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

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

  • docker中修改镜像容器的存放目录的方法

    最近在学习docker的路上,今天遇到了个问题,在网上查找了一下资料,顺便留个笔记 在默认情况下,Docker镜像和容器的默认存放位置为: /var/lib/docker 一般根下分区我们不会给太大.镜像和容器越存越多一般我们有两种解决方法: 1. 挂载大分区到/var/lib/docker 一般选择建立逻辑分区lvm,方便后期扩展集体. 建立新分区,并格式化 [root@localhost lib]# lvcreate -L 300G lv_docker vg_home [root@local

  • docker创建私有镜像仓库搭建教程

    我的环境相关设置如下 环境:centos7 IP地址:10.211.55.30 dockere版本:1.10.3 镜像仓库:v2 首先在10.211.55.30机器上下载registry镜像 $ docker pull registry 也可以进行镜像导入的方法进行离线的安装.可以去我的网盘中下载:https://pan.baidu.com/s/1jHZlz2u 然后进入Docker中进行导入 $ docker load -i registry.tar 下载完之后我们通过该镜像启动一个容器 $

  • Docker中的镜像详细介绍

    Docker中的镜像详细介绍 Docker镜像可以理解为运行在Docker容器中的一个组件,本节将会带领大家学会Docker镜像的下载.搜索.查看.添加删除等一系列操作.Docker在运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试从默认的远程仓库Docker Hub下载. 一.获取镜像:  1.Docker从网络上下载镜像的格式为: docker pull [NAME]:[TAG] 其中TAG即为标签,如果不指定标签的话,那么默认会下载最新版本的镜像. 比如从Docke

  • Docker 教程之镜像创建及修改详细介绍

    创建镜像 创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 修改已有镜像 先使用下载的镜像启动容器. $ sudo docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到. 在容器中添加 json 和 gem 两个应用. root@0b2616b0e5a8:/# gem install json 当结束后,我们使用 exit 来

随机推荐