docker 删除容器和镜像

文章目录

    删除一个容器时,实际上是删除了容器的运行实例。与容器相关的文件系统、网络配置和进程都会被移除。但是,请注意,删除容器并不会自动删除任何关联的镜像。

    查看所有容器

    删除之前,查看一下所有的容器,包括已经退出的容器

    docker ps -a
    

    或者只列出当前 docker compose 配置文件对应的所有容器。注意,这个只能看到容器名,看不到容器 id。

    docker compose ps -a
    

    删除容器

    docker rm 是删除容器,而 docker rmi 是删除镜像。

    docker rm 一次可以指定多个容器。在执行 docker rm 删除容器时可以带上 -v 参数,docker 会将容器使用到的 volume 一并删除,但前提是没有其他容器 mount 该 volume,目的是保护数据。

    如果希望批量删除所有已经退出的容器,可以执行如下命令:

    docker rm -v $(docker ps -aq -f status=exited)
    

    或者:

    docker container prune
    

    确认

    删除之后,再次执行

    docker ps -a
    

    确认已删除成功。

    df -h

    但是删除镜像前后,查看

    df -h
    

    的输出并没有什么变化。难道容器并不占什么空间,只有镜像才占空间?

    删除所有未被使用的镜像

    可以使用以下命令:

    docker image prune
    

    如果指定了-a,还将删除任何容器未引用的所有镜像。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式