如何在你的系统上列出所有 Docker 容器

DockerBeginner
立即练习

简介

在本教程中,我们将探索列出系统上所有 Docker 容器的过程。无论你是初学者还是经验丰富的 Docker 用户,了解如何管理容器对于高效的应用程序部署和维护至关重要。在本指南结束时,你将掌握轻松列出和管理 Docker 容器的知识。

理解 Docker 容器

Docker 是一个用于构建、部署和管理容器化应用程序的流行平台。容器是轻量级、独立且可执行的软件包,其中包含运行应用程序所需的一切,包括代码、运行时、系统工具和库。

什么是 Docker 容器?

Docker 容器是一种标准化的软件单元,它将代码及其所有依赖项打包在一起,以便应用程序能够在不同的计算环境中快速、可靠地运行。容器是从 Docker 镜像创建的,而 Docker 镜像是创建容器的蓝图。

graph TD A[Docker 镜像] --> B[Docker 容器] B --> C[正在运行的应用程序]

Docker 容器的优点

  • 可移植性:容器可以在任何机器上一致地运行,而不管底层基础设施或操作系统如何。
  • 可扩展性:可以轻松地扩大或缩小容器规模以满足不断变化的需求。
  • 高效性:容器是轻量级的,并且共享主机操作系统,这使得它们比虚拟机更高效。
  • 一致性:容器确保应用程序无论在何种环境下都以相同的方式运行。

Docker 容器生命周期

Docker 容器生命周期包括以下阶段:

  1. 创建:从 Docker 镜像创建一个容器。
  2. 启动:启动容器,其中的应用程序开始运行。
  3. 停止:停止容器,但容器本身仍然存在。
  4. 删除:从系统中删除容器。

在你的系统上列出 Docker 容器

一旦你的系统上运行着 Docker 容器,你就需要能够列出并管理它们。LabEx 提供了几个命令来帮助你列出并检查你的 Docker 容器。

列出所有正在运行的容器

要列出当前在你的系统上运行的所有 Docker 容器,请使用以下命令:

docker ps

这将显示一个表格,其中包含每个正在运行的容器的信息,包括容器 ID、容器所基于的镜像、在容器中执行的命令、容器创建的时间、容器的状态以及容器所暴露的端口。

列出所有容器(正在运行的和已停止的)

如果你想查看系统上的所有容器,包括当前已停止的容器,可以使用以下命令:

docker ps -a

这将显示一个表格,其中包含系统上所有容器(正在运行的和已停止的)的信息。

过滤容器列表

你还可以使用 docker ps 命令的各种选项来过滤容器列表。例如,要仅显示具有特定名称的容器,可以使用:

docker ps -a --filter name=my-container

这将仅显示名称为“my-container”的容器。

显示容器的详细信息

要获取特定容器的更详细信息,可以使用 docker inspect 命令,后跟容器 ID 或名称:

docker inspect my-container

这将输出一个 JSON 对象,其中包含有关该容器的详细信息,包括其配置、网络设置等。

管理 Docker 容器

既然你已经知道如何列出你的 Docker 容器,那么让我们来探讨一些常见的容器管理任务。

启动和停止容器

要启动一个已停止的容器,请使用以下命令:

docker start my-container

要停止一个正在运行的容器,请使用以下命令:

docker stop my-container

重启容器

如果你需要重启一个正在运行的容器,可以使用 docker restart 命令:

docker restart my-container

这将停止容器,然后再次启动它。

删除容器

要从你的系统中删除一个容器,可以使用 docker rm 命令:

docker rm my-container

这将删除容器,但不会删除它所基于的镜像。

在容器中执行命令

有时,你可能需要在正在运行的容器内执行一个命令。你可以使用 docker exec 命令来做到这一点:

docker exec -it my-container /bin/bash

这将在容器内启动一个交互式 shell 会话。

管理容器资源

你还可以在创建或运行容器时使用各种选项来管理分配给容器的资源(CPU、内存等)。例如,要将一个容器限制为最多使用 2 个 CPU 核心和 512MB 的 RAM,可以使用以下命令:

docker run -c 2 -m 512m my-image

通过了解这些容器管理任务,你将能够有效地控制和维护系统上的 Docker 容器。

总结

对于任何 Docker 用户来说,掌握列出系统上所有 Docker 容器的能力都是一项基本技能。通过遵循本教程中概述的步骤,你将能够快速有效地识别系统上运行的所有容器,从而更好地管理你的 Docker 环境,并确保你的应用程序按预期运行。