zoukankan      html  css  js  c++  java
  • docker强制删除镜像

    前言

    在搭建k8s集群的时候,由于master主机需要一系列的组件,例如kube-apiserver, kube-proxy, kube-controller-manager, etcd等。

    这些都是以docker容器形式运行的,所以需要提前拉取。

    但是,由于某些原因吧,k8s没有拉起来。在检查的时候发现docker镜像出了问题。于是我就去删除它们,但是删除的时候也出了错误:

    [root@node1 ~]# docker images
    REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
    k8s.gcr.io/kube-apiserver                                         v1.22.1             f30469a2491a        9 days ago          128 MB
    registry.aliyuncs.com/google_containers/kube-apiserver            v1.22.1             f30469a2491a        9 days ago          128 MB
    k8s.gcr.io/kube-proxy                                             v1.22.1             36c4ebbc9d97        9 days ago          104 MB
    k8s.gcr.io/kube-controller-manager                                v1.22.1             6e002eb89a88        9 days ago          122 MB
    registry.aliyuncs.com/google_containers/kube-controller-manager   v1.22.1             6e002eb89a88        9 days ago          122 MB
    k8s.gcr.io/kube-scheduler                                         v1.22.1             aca5ededae9c        9 days ago          52.7 MB
    registry.aliyuncs.com/google_containers/kube-scheduler            v1.22.1             aca5ededae9c        9 days ago          52.7 MB
    k8s.gcr.io/etcd                                                   3.5.0-0             004811815584        2 months ago        295 MB
    registry.aliyuncs.com/google_containers/etcd                      3.5.0-0             004811815584        2 months ago        295 MB
    k8s.gcr.io/coredns/coredns                                        v1.8.4              8d147537fb7d        3 months ago        47.6 MB
    k8s.gcr.io/pause                                                  3.5                 ed210e3e4a5b        5 months ago        683 kB
    registry.aliyuncs.com/google_containers/pause                     3.5                 ed210e3e4a5b        5 months ago        683 kB
    [root@node1 ~]# docker rmi $(docker images -a -q)
    Untagged: k8s.gcr.io/kube-proxy:v1.22.1
    Untagged: k8s.gcr.io/kube-proxy@sha256:efcf1d5fb2fc95d28841f534f1385a4884230c7c876fb1b7cf66d2777ad6dc56
    Deleted: sha256:36c4ebbc9d979f15a0316c6dde446c556250d397e2085375cfbaf2660272d912
    Deleted: sha256:bc584c3df17637d0ea10b53014d68dc283c7d3313a9e6f067282fcf78273fc66
    Deleted: sha256:48b90c7688a2c85d7081a437ecba5cb706fbaa98b09def0b206dbbe39e3af558
    Untagged: k8s.gcr.io/coredns/coredns:v1.8.4
    Untagged: k8s.gcr.io/coredns/coredns@sha256:6e5a02c21641597998b4be7cb5eb1e7b02c0d8d23cce4dd09f4682d463798890
    Deleted: sha256:8d147537fb7d1ac8895da4d55a5e53621949981e2e6460976dae812f83d84a44
    Deleted: sha256:22ff2e2a31dc2108bfa9a2f9c50bd5c154de33ea30b9fc9bbfe39f82a6e4bd7a
    Deleted: sha256:225df95e717ceb672de0e45aa49f352eace21512240205972aca0fccc9612722
    Error response from daemon: conflict: unable to delete f30469a2491a (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete f30469a2491a (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete 6e002eb89a88 (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete 6e002eb89a88 (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete aca5ededae9c (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete aca5ededae9c (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete 004811815584 (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete 004811815584 (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete ed210e3e4a5b (must be forced) - image is referenced in multiple repositories
    Error response from daemon: conflict: unable to delete ed210e3e4a5b (must be forced) - image is referenced in multiple repositories
    

    检查

    经过查阅资料,我发现必须强制删除它们。

    可以使用一下两种方法:

    1. 使用-f选项强制删除,即docker rmi -f image-id.
    2. 使用镜像的仓库路径来删除,即docker rmi repository:tag.

    两种方法我都试了一下,发现方法1比方法2管用,方法2删除不成功,于是是用方法1来删除。

    可是我有很多镜像,一个一个删就到明年了。于是我就是用awk来批量删除了。

    [root@node1 ~]# for tag in $(docker images|awk '{print $3}')
    > do
    > docker rmi -f ${tag}
    > done
    [root@node1 ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    

    后记

    我很奇怪为什么这套环境不能搭建成功k8s服务(在其他环境都可以),可能确实是网络环境问题吧,嘎嘎嘎~

    鸣谢

    强制删除docker镜像

    About me: 资深大猪蹄子
  • 相关阅读:
    OpenSSL生成rsa密钥对
    RabbitMQ工作模式
    加密解密
    MongDB优化
    java线程进程
    MongoDB数据类型
    获取指针指向的内存大小方法
    [教程] 让Mac OS 10.x.x安装在Vmware虚拟机上!
    安装好的苹果系统部分截图
    VC中MFC程序手动控制最近文件列表
  • 原文地址:https://www.cnblogs.com/young233/p/15202749.html
Copyright © 2011-2022 走看看