在测试和部署项目时,容器非常棒。 但是如果创建多个容器,容器会很快占用磁盘空间。
在这个 Docker 初学者教程中,我将向您展示如何删除 docker 容器。
在最简单的形式中,您可以使用 docker rm 命令:
docker rm container_id_or_name
如果要删除所有容器,请先停止正在运行的容器,然后再删除它们:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
但是你不会总是用容器过简单的生活。 这就是为什么我要展示你可以删除的各种场景 码头工人 容器。
移除docker容器的实际例子
如您所料,要删除一个容器,您需要知道它的名称或 ID。 您可以使用 docker ps 命令检查系统上的所有 docker 容器(已停止和正在运行),如下所示:
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07e97581c5d8 debian "bash" 9 minutes ago Up 9 minutes container2
6ef4545eef37 ubuntu "bash" 11 minutes ago Up 11 minutes container1
707e40ce3c5a ubuntu "/bin/bash" 15 minutes ago Exited (0) 15 minutes ago boring_payne
8047ab8e3673 ubuntu "/bin/bash" 34 minutes ago Exited (0) 15 minutes ago relaxed_wiles
ce84231ab213 debian "bash" 42 minutes ago Exited (0) 42 minutes ago bold_golick
12a18eaa291b hello-world "/hello" 2 days ago Exited (0) 2 days ago brave_mendeleev
第一列给出容器 ID,最后一列给出容器名称。 您还可以注意到正在运行的 docker 容器在 Status 列中有“Up”。
现在您知道如何获取容器 ID 和名称,让我们看看如何删除它:
移除 docker 容器
这是最简单的。 您以这种方式使用容器 ID 或名称:
docker rm container_id_or_name
您不会在输出中收到类似容器已删除的消息。 它只显示您提供的容器 ID 或名称。
[email protected]:~$ docker rm 12a18eaa291b
12a18eaa291b
删除正在运行的容器
如果容器正在运行并且您尝试将其删除,您将看到如下错误:
[email protected]:~$ docker rm container1
Error response from daemon: You cannot remove a running container 6ef4545eef378788e5e9d7ac1cf2e0a717480608adb432be99fd9b3d3a604c12. Stop the container before attempting removal or force remove
很明显,您应该先停止 docker 容器,然后将其删除:
docker stop container_id_or_name
docker rm container_id_or_name
强制删除正在运行的 docker 容器(不推荐)
Docker 为您提供了 -f 选项来强制删除容器。 有了这个,你可以删除一个正在运行的容器:
docker rm -f container_id_or_name
不建议这样做,因为它会发送 kill 命令并且您的容器可能不会保存其状态。
移除多个 docker 容器
您可以在删除时指定多个 docker 容器:
docker rm container1 container2 container3
删除与特定 docker 映像关联的多个 docker 容器
在里面 example,假设您要删除与 docker image ubuntu 关联的所有容器。
我建议你先停止容器:
docker ps -a -q --filter ancestor=ubuntu | xargs docker stop
然后删除这些容器:
docker ps -a -q --filter ancestor=ubuntu | xargs docker rm
为了解释上面的命令, docker ps
命令输出使用与 ubuntu 映像关联的容器进行过滤,然后 -q
选项只给出容器 ID。 将它与 xargs 命令结合起来,将容器 ID(与 Ubuntu 相关联)提供给 docker rm 命令。
移除所有停止的容器
如果要删除所有停止的容器,可以按状态过滤它们,然后以这种方式停止它们:
docker ps -a -q -f status=exited | xargs docker rm
删除所有 Docker 容器
如果要从系统中删除所有容器,则应确保先停止所有容器,然后再删除它们:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
我希望你喜欢这个 Docker 教程。 请继续关注更多。