• docker下移除不使用的镜像、容器、卷、网络


    Prune images

    docker image prune移除没有标签并且没有被容器引用的镜像,这种镜像称为 dangling(摇晃的) 镜像。

    示例1:docker image prune

    删除了redis,无标签且无引用

    docker ps -a

    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    
    • 1

    docker images

    REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
    nginx                   latest    ae2feff98a0c   4 days ago     133MB
    redis                   <none>    ef47f3b6dc11   8 days ago     104MB
    centos                  latest    300e315adb2f   12 days ago    209MB
    ubuntu                  latest    f643c72bc252   3 weeks ago    72.9MB
    docs/docker.github.io   latest    32ed84d97e30   6 months ago   1GB
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    docker image prune

    docker images

    REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
    nginx                   latest    ae2feff98a0c   4 days ago     133MB
    centos                  latest    300e315adb2f   12 days ago    209MB
    ubuntu                  latest    f643c72bc252   3 weeks ago    72.9MB
    docs/docker.github.io   latest    32ed84d97e30   6 months ago   1GB
    
    • 1
    • 2
    • 3
    • 4
    • 5

    示例2:移除所有没有容器使用的镜像 -a

    docker image prune -a
    
    • 1

    跳过警告提示:–force或-f

    docker image prune -f
    
    • 1

    示例3:执行过滤删除:

    超过24小时创建的镜像

    docker image prune -a --filter "until=24h"
    
    • 1

    关于过滤器的内容,查看 docker image prune手册

    移除容器s
    当停止容器,不会自动删除,除非在 docker run 时指定了 --rm。一个停止的容器可写层仍然会占用磁盘空间,所以清除它,使用 docker container prune命令。

    其他参数类似 docker images prune

    移除卷
    卷会被一个或多个容器使用,并且占用主机空间。卷不会自动移除,因为自动移除,会破坏数据。

    docker volume prune
    
    • 1

    其他参数类似 docker images prune

    移除网络
    Docker 网络不会占用磁盘空间,但是他们创建了 iptables规则,桥接网络服务,路由entries。清除未被容器使用的网络,这么做

    docker network prune
    
    • 1

    其他参数类似 docker images prune

    移除 Everything

    docker system prune
    
    • 1

    命令是一个快捷方式,用于移除镜像,容器,网络。

    在 Docker 17.06.0 和更早,卷也是可以移除的。在Docker 17.06.1或更高版本,需要指定参数–volumes。

    示例(没有移除卷):

    docker system prune

    WARNING! This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all dangling images
    - all build cache
    Are you sure you want to continue? [y/N] y

    示例(有了移除卷功能):添加–volumes

    docker system prune --volumes

    WARNING! This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all volumes not used by at least one container
    - all dangling images
    - all build cache
    Are you sure you want to continue? [y/N] y

    其他参数类似 docker images prune

  • 相关阅读:
    【软件测试】开发/测试模型
    数据结构-邻接表广度优先搜索(C语言版)
    21天学习挑战:经典算法---算法概念引入
    CCF ChinaSoft 2023 论坛巡礼|形式验证@EDA论坛
    Ubuntu虚拟机使用桥接网络设置静态IP
    java 处理日期的方法
    SpringSecurity系列——基于SpringBoot2.7的登录接口(内有惊喜)day2-1
    CrySiS勒索病毒最新变种来袭,加密后缀为kharma
    Ingress Nginx 接连披露高危安全漏洞,是否有更好的选择?
    AWS认证SAA-C03每日一题
  • 原文地址:https://blog.csdn.net/urmljyc/article/details/134500472