阿里云部署Docker(6)----解决删除<none>镜像问题

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介:

转载请注明来源,本博客原创作者为:http://blog.csdn.net/minimicall?viewmode=contents

在Docker使用中,经常会碰到删除镜像不成功,反而让镜像变成了<none > <none>即,没名字,没Tag的镜像。

root@iZ28ikebrg6Z:/var/run# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                 <none>              def2e0b08cbc        About an hour ago   1.37 GB
sameersbn/redmine      latest              f0bec095f291        2 hours ago         614.6 MB
sameersbn/gitlab       latest              bf5c375d9057        3 days ago          635.1 MB
<none>                 <none>              9cbaf023786c        3 days ago          192.8 MB
sameersbn/postgresql   latest              24a6064fa4cd        10 days ago         142.1 MB
<none>                 <none>              48648094d099        5 weeks ago         997.9 MB
<none>                 <none>              195fa62e92a8        6 weeks ago         496.4 MB
training/webapp        latest              31fa814ba25a        4 months ago        278.8 MB
sameersbn/redmine      2.4.2               b95b8046d47c        8 months ago        1.327 GB

好多<none>,删又删不了。这主要是一些container使用了该image导致的,不仅仅是说现在运行的容器,之前运行的也会。

docker ps -a

可以查历史记录,然后将container commit成镜像。

我们需要删除这些依赖Image的container,当使用到该镜像的所有container都删除了,就可以直接用IMAGE_ID来删除该镜像。

root@iZ28ikebrg6Z:/var/run# docker ps -a
CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS                     PORTS               NAMES
5d6373cb79e6        224b40d4b89f             "/bin/sh -c 'apt-get   25 hours ago        Exited (0) 25 hours ago                        distracted_blackwell     
aa47ba8e71c8        training/webapp:latest   "python app.py"        28 hours ago        Exited (-1) 27 hours ago                       suspicious_ardinghelli   
09792841c0b4        training/webapp:latest   "python app.py"        29 hours ago        Exited (-1) 27 hours ago                       compassionate_torvalds   
d8eca9742031        9cbaf023786c             "/bin/sh -c 'while t   31 hours ago        Exited (-1) 30 hours ago                       mad_jones                
95d20e5442f9        9cbaf023786c             "/bin/bash"            31 hours ago        Exited (0) 31 hours ago                        stupefied_torvalds       
9d40292642e6        9cbaf023786c             "/bin/echo 'hello wo   31 hours ago        Exited (0) 31 hours ago                        stoic_mclean             
1078d5bd868e        9cbaf023786c             "/bin/echo 'hello wo   31 hours ago        Exited (0) 31 hours ago                        high_leakey              
e88cad8893f5        9cbaf023786c             "/bin/echo hello"      31 hours ago        Exited (0) 31 hours ago                        compassionate_mclean     
0949d7b6148d        9cbaf023786c             "/bin/echo 'hello wo   31 hours ago        Exited (0) 31 hours ago                        romantic_carson          
e5ab0f35322f        9cbaf023786c             "/bin/bash"            31 hours ago        Exited (0) 31 hours ago                        romantic_elion           
9fbad8b573d3        9cbaf023786c             "/bin/bash"            32 hours ago        Exited (0) 31 hours ago                        thirsty_davinci          
9ce1789ee43d        9cbaf023786c             "/bin/echo hello"      32 hours ago        Exited (0) 32 hours ago                        insane_colden     

一个个的删除

root@iZ28ikebrg6Z:/var/run# docker rm 5d63
5d63
root@iZ28ikebrg6Z:/var/run# docker rm  aa47
aa47
root@iZ28ikebrg6Z:/var/run# docker rm  0979
0979
root@iZ28ikebrg6Z:/var/run# docker rm  d8ec
d8ec
root@iZ28ikebrg6Z:/var/run# docker rm  95d
95d
root@iZ28ikebrg6Z:/var/run# docker rm  9d4
9d4
root@iZ28ikebrg6Z:/var/run# docker rm  1078
1078
root@iZ28ikebrg6Z:/var/run# docker rm  e88c
e88c
root@iZ28ikebrg6Z:/var/run# docker rm  0949
0949
root@iZ28ikebrg6Z:/var/run# docker rm  e5ab
e5ab
root@iZ28ikebrg6Z:/var/run# docker rm  9fba
9fba
root@iZ28ikebrg6Z:/var/run# docker rm  9ce1
9ce1
root@iZ28ikebrg6Z:/var/run# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

root@iZ28ikebrg6Z:/var/run# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
sameersbn/redmine      latest              f0bec095f291        3 hours ago         614.6 MB
sameersbn/gitlab       latest              bf5c375d9057        3 days ago          635.1 MB
sameersbn/postgresql   latest              24a6064fa4cd        10 days ago         142.1 MB
<none>                 <none>              48648094d099        5 weeks ago         997.9 MB
<none>                 <none>              195fa62e92a8        6 weeks ago         496.4 MB
training/webapp        latest              31fa814ba25a        4 months ago        278.8 MB
sameersbn/redmine      2.4.2               b95b8046d47c        8 months ago        1.327 GB
root@iZ28ikebrg6Z:/var/run# docker rmi 4864
Deleted: 48648094d099bf7c38c5687f4cde3f2b7d27e8a1dc45c30d8fdf8e5f42c2473e
Deleted: 4b1b0cd0c62c3e86701bf4bc4736ca403e3ddd264101d69110bd1924bf05ec2d
Deleted: cd2308a31b296d77f1ef1562432d3908582528ed13d838a3ab6702e7d19ce604
Deleted: 212c2526444a6cefedf9d985f2727bef4b50b84062400a8f1d98b19f779baf3d
Deleted: ac89032e1c4548eaf6f6bf817850431b9180a5b7f06b29e6d7f73b4b8878fe10
Deleted: dcd2c451d11f4896c31b0178c41bf764a87625004ff0048863e627474147c413
Deleted: 7eac533353c28beeab8fd4abb5a6663abc99f0cf24d3650963352f3a41ce8e29
Deleted: 11ed21fa7166f4dee1cfe406885d889f07222a458e706c9d30c28aa9e4cfc398
Deleted: cf6daa523a25b1b947138ad883d18f8501d210ae110487066a9b4ccd8fbd9c70
Deleted: 830bf73bda66fe5ac8bf9262b5be7f4cfacec7a2dd28b7d8cb61c505e68fb787
Deleted: 41176d2b465f4072fa46897aef5f4e35a1941d73a20687bb704c2bfd789a5ae3
Deleted: fa078497ab6f0be3ce013f336ff052af7eaa96cbe2e14e3e6f6352c00544ede0
Deleted: 4477fcbe8e773d2699bf50a6a24b265fbede90ab95793e9cd36f1627348424ed
Deleted: 314c98eff22790bf333b9f98ff39576d9cfbeb3f380fe839ca74ef641b30d1f6
Deleted: 01fb8a54ae0821edb5d6d30280b56c47934efa05b158b67ad3a4a4bb9a82928b
Deleted: 533b41917c87f1479dd6cc852cf8ad11ccd9ef93d5b42978b66bbb1bb30dd476
Deleted: b9c0b9efe68d7fe7caa1c9dcfd61a0aa4a3fb4e2629b7d10c9140a495a438855
Deleted: a91d7692121d15b5399bfb0b4096aa7d696d9e0e0b44269479e5666ea3b39dd9
Deleted: 37d36b47338de2dca6f957a520016d9e7ca4db1e57d6eb38824c9ba267b29db7
Deleted: c4ff7513909dedf4ddf3a450aea68cd817c42e698ebccf54755973576525c416
Deleted: cc58e55aa5a53b572f3b9009eb07e50989553b95a1545a27dcec830939892dba
Deleted: 0ea0d582fd9027540c1f50c7f0149b237ed483d2b95ac8d107f9db5a912b4240
Deleted: d92c3c92fa73ba974eb409217bb86d8317b0727f42b73ef5a05153b729aaf96b
Deleted: 9942dd43ff211ba917d03637006a83934e847c003bef900e4808be8021dca7bd
Deleted: 1c9383292a8ff4c4196ff4ffa36e5ff24cb217606a8d1f471f4ad27c4690e290
root@iZ28ikebrg6Z:/var/run# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
sameersbn/redmine      latest              f0bec095f291        3 hours ago         614.6 MB
sameersbn/gitlab       latest              bf5c375d9057        3 days ago          635.1 MB
sameersbn/postgresql   latest              24a6064fa4cd        10 days ago         142.1 MB
<none>                 <none>              195fa62e92a8        6 weeks ago         496.4 MB
training/webapp        latest              31fa814ba25a        4 months ago        278.8 MB
sameersbn/redmine      2.4.2               b95b8046d47c        8 months ago        1.327 GB
root@iZ28ikebrg6Z:/var/run# docker rmi 195f
Error response from daemon: No such image: 762df2d4d7bb52a46148cf3e5ab423b30aafd58ca8f758ea78ea2cbd1b1753b6
2014/10/17 17:26:04 Error: failed to remove one or more images
root@iZ28ikebrg6Z:/var/run# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
sameersbn/redmine      latest              f0bec095f291        3 hours ago         614.6 MB
sameersbn/gitlab       latest              bf5c375d9057        3 days ago          635.1 MB
sameersbn/postgresql   latest              24a6064fa4cd        10 days ago         142.1 MB
training/webapp        latest              31fa814ba25a        4 months ago        278.8 MB
sameersbn/redmine      2.4.2               b95b8046d47c        8 months ago        1.327 GB
root@iZ28ikebrg6Z:/var/run# 
好,删除干净了。还我们一个干净的工作区间。



docker的删除有两种,一个是rm 删除容器,一个是rmi删除镜像。

rm Remove one or more containers
rmi Remove one or more images

这里有两个不同的单词,imagescontainer。其中images很好理解,跟平常使用的虚拟机的镜像一个意思,相当于一个模版,而container则是images运行时的的状态。docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。 如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。

回到之前的问题,由于image被某个container引用(拿来运行),如果不将这个引用的container销毁(删除),那image肯定是不能被删除。

所以想要删除运行过的images必须首先删除它的container。继续来看刚才的例子,

[yaxin@ubox ~]$docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES
117843ade696        ed9c93747fe1        /bin/sh -c /usr/sbin   46 hours ago        Up 46 hours         0.0.0.0:49153->22/tcp   test_sshd

可以看出ed9c93747fe1的image被117843ade696的container使用着,所以必须首先删除该container

[yaxin@ubox ~]$docker rm 117843ade696
Error: container_delete: Impossible to remove a running container, please stop it first
2014/03/22 16:36:44 Error: failed to remove one or more containers

出现错误,这是因为该container正在运行中(运行docker ps查看),先将其关闭

[yaxin@ubox ~]$docker stop 117843ade696
117843ade696
[yaxin@ubox ~]$docker rm 117843ade696
117843ade696
[yaxin@ubox ~]$docker rmi ed9c93747fe1
Deleted: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af
Deleted: c8a0c19429daf73074040a14e527ad5734e70363c644f18c6815388b63eedc9b
Deleted: 95dba4c468f0e53e5f1e5d76b8581d6740aab9f59141f783f8e263ccd7cf2a8e
Deleted: c25dc743e40af6858c34375d450851bd606a70ace5d04e231a7fcc6d2ea23cc1
Deleted: 20562f5714a5ce764845119399ef75e652e23135cd5c54265ff8218b61ccbd33
Deleted: c8af1dc23af7a7aea0c25ba9b28bdee68caa8866f056e4f2aa2a5fa1bcb12693
Deleted: 38fdb2c5432e08ec6121f8dbb17e1fde17d5db4c1f149a9b702785dbf7b0f3be
Deleted: 79ca14274c80ac1df1333b89b2a41c0e0e3b91cd1b267b31bef852ceab3b2044
[yaxin@ubox ~]$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
CentOS65            latest              e55a74a32125        2 days ago          360.6 MB

可以看出,image已经被删除




相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
26天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
114 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
1月前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
1257 29
|
27天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
27天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
54 1
|
27天前
|
存储 关系型数据库 Linux
【赵渝强老师】什么是Docker的镜像
Docker镜像是一个只读模板,包含应用程序及其运行所需的依赖环境。镜像采用分层文件系统,每次修改都会以读写层形式添加到原只读模板上。内核bootfs用于加载Linux内核,根镜像相当于操作系统,上方为应用层。镜像在物理存储上是一系列文件的集合,默认存储路径为“/var/lib/docker”。
|
1月前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
127 2
|
27天前
|
Docker 容器
【赵渝强老师】Docker的None网络模式
Docker容器在网络方面实现了逻辑隔离,提供了四种网络模式:bridge、container、host和none。其中,none模式下容器具有独立的网络命名空间,但不包含任何网络配置,仅能通过Local Loopback网卡(localhost或127.0.0.1)进行通信。适用于不希望容器接收任何网络流量或运行无需网络连接的特殊服务。
|
27天前
|
缓存 JavaScript 安全
深入理解Docker镜像构建过程
深入理解Docker镜像构建过程
64 0
|
27天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
59 0
|
弹性计算 NoSQL MongoDB
阿里云使用Docker
阿里云使用Docker部署MongoDB集群体验
阿里云使用Docker