docker rm -f 容器名
这就是坑:误删正在运行中的容器会导致服务中断。
确保容器无运行状态再删除,以防服务中断。
docker rm -f 容器名 这就是坑,别信容器还在运行。 别这么干,容器未清理可能导致资源浪费。
说起来 Docker 容器删除,这事儿我干了好多年了。说实话,我刚接触 Docker 的时候,对这容器删除的功能也没想明白,那时候的版本是 Docker 1.12,我记得是在 2015 年的 DockerCon 大会上,Docker 官方发布了这个版本。
当时 Docker 容器删除的方式很简单,直接用 docker rm 命令就搞定了。比如说,你想删除一个叫做 mycontainer 的容器,那你就得先运行 docker ps 命令,找到这个容器的 ID,然后使用 docker rm 后面跟容器 ID 来删除它。
但是要注意,如果你的容器正在运行,你直接 docker rm 是不行的,得先停止容器。我当时试过直接删除运行中的容器,结果系统给我提示说“Cannot remove running container”,我当时就傻眼了。
后来啊,我学会了用 docker stop 命令先停止容器,然后再用 docker rm。比如说,停止 mycontainer 容器,你就得先运行 docker stop mycontainer,然后再运行 docker rm mycontainer。
还有一点,如果你要删除的容器被其他进程依赖,那你也得先解除依赖关系,否则删除的时候也会出问题。我记得有一次,一个容器的名字改了,但是它的卷(volume)还没解绑,结果我尝试删除容器的时候,系统给我报了个错误,说什么“Volume is in use by container ...”。
所以啊,删除 Docker 容器,其实就是一个 docker stop 加一个 docker rm 的过程。当时我花了好多时间才弄明白这些,现在看来虽然简单,但当时还是挺头大的。