如何删除旧的Docker容器?


Docker允许您删除对您无用的旧的和陈旧的容器。您可以使用Docker rm或Docker container rm命令来实现。但是,在开始删除容器之前,您需要确保没有容器正在运行。否则,Docker将抛出错误。

但是,还有另一种解决方法。您也可以使用 --force 选项强制删除Docker容器。Docker删除命令允许您同时删除一个或多个Docker容器。您只需要指定容器ID或其名称即可。但是,如果您想同时删除机器中的所有Docker容器,可以使用子命令。

在本文中,我们将讨论如何使用Docker container remove命令以及您可以一起使用的所有选项。我们还将讨论如何同时删除所有容器。

Docker容器删除

您可以使用两种不同的Docker容器删除命令形式来达到相同的结果。以下是这两个命令的语法。

$ docker container rm [OPTIONS] CONTAINER [CONTAINER...]


$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

这两个命令的工作方式相同。您可以与这些命令一起使用的选项包括:

  • --volumes - 如果您也想删除所有关联卷,可以使用此选项。
  • --link - 如果您要删除的容器与其他容器有链接,并且您也希望删除这些链接,可以使用 --link 选项。
  • --force - 如果您要删除的容器正在后台运行,可以使用 --force 选项来删除此类容器,甚至无需停止它们。

现在,让我们查看一些示例以及您可以使用这些命令和选项的方式。

假设您有一个名为mycont的容器正在您的机器上运行。那么删除此容器的常规方法是首先检查其状态,如果它正在运行则停止容器,然后将其删除。为此,您可以使用以下命令集。

要列出所有活动容器,可以使用以下命令。

$ docker ps

现在,如果您的容器处于活动状态,则需要先停止容器。您可以使用以下命令来实现。

$ docker stop mycont

停止此容器后,您可以轻松地使用以下任一命令将其删除。

$ docker container rm mycont


$ docker rm mycont

如果您不想经历所有这些麻烦,可以直接使用以下命令强制删除容器。

$ docker rm -f mycont

即使您尝试删除正在运行的容器,也不会出现错误。

您可以通过使用空格分隔容器ID或名称来同时删除多个容器。查看以下命令以同时删除3个容器。

$ docker container rm mycont1 mycont2 mycont3

您还可以将两个命令混合使用,以一次删除系统中的所有容器。查看以下命令。

$ docker stop $(docker ps -aq)

在上面的命令中,我们使用了Docker stop命令作为父命令,并且没有提及每个单独容器的ID或名称,而是使用了列出所有容器的容器ID的子命令。 -q(静默)选项用于仅返回容器ID,-a(全部)选项用于返回所有容器。

现在您已经停止了所有容器,您可以使用类似的命令来删除所有容器。

$ docker rm $(docker ps -aq)

无需先停止所有容器然后删除它们,您也可以在此处使用 -f 选项,以强制同时删除所有容器。

$ docker rm -f $(docker ps -aq)

如果您只想删除一些已停止的容器,可以使用filter选项来提供容器的状态。

$ docker rm $(docker ps --filter status=exited -q)

在上面的命令中,我们使用了Docker rm命令以及一个子命令,该子命令过滤所有已退出的容器并返回它们的ID。

总而言之,在本文中,我们讨论了如何使用两个不同的命令删除一个或多个容器。我们了解了如何与它们一起使用多个选项以及如何同时删除或停止所有容器。

更新于:2021年8月6日

604 次浏览

开启您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.