当前位置: 首页 » 综合知识 » it知识 » 正文

Docker怎么删除image

发布时间:2023-07-20 以下文章来源于网友投稿,内容仅供参考!

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 ed9c93747fe1
untagged: ed9c93747fe16627be822ad3f7feeb8b4468200e5357877d3046aa83cc44c6af
[yaxin@ubox ~]$docker images
repository     tag         image id      created       virtual size
<none>       <none>       ed9c93747fe1    45 hours ago    329.8 mb
centos65      latest       e55a74a32125    2 days ago     360.6 mb

可以看出,image并没有被删除,只是他的tag被删除了,再次执行docker rmi image_id只会报错

[yaxin@ubox ~]
$docker rmi ed9c93747fe1
error: image_delete: conflict, ed9c93747fe1 wasn't deleted
2022/03/22 15:58:27 error: failed to remove one or more images

查看docker的帮助会发现有两个与删除有关的命令rm和rmi

rm remove one or more containers
rmi remove one or more images

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

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

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

[yaxin@ubox ~]
$docker ps -a
container id    image        mand        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
2022/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已经被删除。

  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师