如何删除docker images下的镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除docker images下的镜像相关的知识,希望对你有一定的参考价值。

docker
images往往不知不觉就占满了硬盘空间,为了清理冗余的image,可采用以下方法:
1.进入root权限
sudo
su
2.停止所有的container,这样才能够删除其中的images:
docker
stop
$(docker
ps
-a
-q)
如果想要删除所有container的话再加一个指令:
docker
rm
$(docker
ps
-a
-q)
3.查看当前有些什么images
docker
images
4.删除images,通过image的id来指定删除谁
docker
rmi
想要删除untagged
images,也就是那些id为
的image的话可以用
docker
rmi
$(docker
images
|
grep
"^
"
|
awk
"print
$3")
要删除全部image的话
docker
rmi
$(docker
images
-q)
参考技术A 1.进入root权限
sudo
su
2.停止所有的container,这样才能够删除其中的images:
docker
stop
$(docker
ps
-a
-q)
如果想要删除所有container的话再加一个指令:
docker
rm
$(docker
ps
-a
-q)
3.查看当前有些什么images
docker
images
4.删除images,通过image的id来指定删除谁
docker
rmi
想要删除untagged
images,也就是那些id为
的image的话可以用
docker
rmi
$(docker
images
|
grep
"^
"
|
awk
"print
$3")
要删除全部image的话
docker
rmi
$(docker
images
-q)

docker强制删除none的image镜像

昨晚使用dockerfile生成一个镜像,中途断网了,导致images的REPOSITORY出现<none>

他的名字和tag都是为none

错误提示:

Failed to remove image (bceaae03d0ea): Error response from daemon: conflict: unable to delete bceaae03d0ea (must be forced) - image is being used by stopped container 31142aabc63c

首先我查看镜像

再查看容器,包括运行后退出的。

#引起上面的原因是docker官方要求,docker rmi image_id 只能删除未被使用的image。

由上面这段话,我推断到有容器在使用这个镜像,所以没法删除。

排除方法:1、删除和bceaae03d0ea镜像有关联的容器  2、再重新删除镜像

查看镜像
[[email protected] ~]# docker images 
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
<none>                  <none>              bceaae03d0ea        15 hours ago        172 MB
516249940/centos6-ssh   v1                  f6bb69ea7020        19 hours ago        556.4 MB
centos6-ssh             latest              f6bb69ea7020        19 hours ago        556.4 MB
docker.io/centos        centos6             8315978ceaaa        4 weeks ago         194.6 MB
docker.io/ubuntu        12.10               3e314f95dcac        2 years ago         172 MB
查看所有容器
[[email protected] ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                   NAMES
31142aabc63c        bceaae03d0ea        "/bin/sh -c ‘apt-get "   15 hours ago        Exited (100) 15 hours ago                           drunk_borg
f8aa111d0066        centos6-ssh         "/usr/sbin/sshd -D"      18 hours ago        Up 18 hours                 0.0.0.0:32768->22/tcp   my-first-docker
[[email protected] ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
31142aabc63c        bceaae03d0ea        "/bin/sh -c ‘apt-get "   15 hours ago        Exited (100) 15 hours ago                       drunk_borg
[[email protected] ~]#
[[email protected] ~]# docker ps -a |grep bceaae03d0ea
31142aabc63c        bceaae03d0ea        "/bin/sh -c ‘apt-get "   15 hours ago        Exited (100) 15 hours ago                           drunk_borg
[[email protected] ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                   NAMES
31142aabc63c        bceaae03d0ea        "/bin/sh -c ‘apt-get "   15 hours ago        Exited (100) 15 hours ago                           drunk_borg
f8aa111d0066        centos6-ssh         "/usr/sbin/sshd -D"      18 hours ago        Up 18 hours                 0.0.0.0:32768->22/tcp   my-first-docker
删除已经退出运行的容器
[[email protected] ~]# docker ps -a | grep "Exited" | awk ‘{print $1 }‘|xargs docker rm
31142aabc63c
[[email protected] ~]# 
[[email protected] ~]# 
[[email protected] ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS                   NAMES
f8aa111d0066        centos6-ssh         "/usr/sbin/sshd -D"   18 hours ago        Up 18 hours         0.0.0.0:32768->22/tcp   my-first-docker
删除none镜像
[[email protected] ~]# docker images |grep none
<none>                  <none>              bceaae03d0ea        15 hours ago        172 MB
[[email protected] ~]# docker images |grep none |awk ‘{print $3}‘
bceaae03d0ea
[[email protected] ~]# docker images |grep none |awk ‘{print $3}‘|xargs docker rmi
Deleted: sha256:bceaae03d0ea6312608c6a9f310bcaa0b4363792fba6ee4875e1d2b9c7c1fbb1
[[email protected] ~]# docker images 
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
516249940/centos6-ssh   v1                  f6bb69ea7020        19 hours ago        556.4 MB
centos6-ssh             latest              f6bb69ea7020        19 hours ago        556.4 MB
docker.io/centos        centos6             8315978ceaaa        4 weeks ago         194.6 MB
docker.io/ubuntu        12.10               3e314f95dcac        2 years ago         172 MB
[[email protected] ~]#


本文出自 “禅剑一如” 博客,请务必保留此出处http://yanconggod.blog.51cto.com/1351649/1880240

以上是关于如何删除docker images下的镜像的主要内容,如果未能解决你的问题,请参考以下文章

如何删除运行的docker镜像

如何合并两个Docker 镜像

如何删除 Docker 映像?

Docker学习笔记 — docker仓库的镜像怎么删除

删除docker下的镜像

Docker中images中none的镜像删除