docker ps -a
命令
在 Docker 中用于列出 Docker 宿主机上所有的容器,包括正在运行的容器和已经停止的容器。这个命令是 Docker 用户常用的命令之一,用于查看和管理容器。
命令解析:
docker
:这是 Docker 的命令行接口,用于执行 Docker 相关的各种操作。ps
:这个命令来源于 Unix/Linux 中的进程查看命令ps
(process status),但在 Docker 上下文中,它被用来列出 Docker 容器。-a
或--all
:这个选项指示docker ps
命令列出所有的容器,而不仅仅是当前正在运行的容器。
输出信息通常包括:
- CONTAINER ID:容器的唯一标识符。
- IMAGE:容器使用的镜像。
- COMMAND:容器启动时执行的命令。
- CREATED:容器的创建时间。
- STATUS :容器的当前状态,如
Up X minutes
表示容器已运行 X 分钟,Exited (X) minutes ago
表示容器已停止运行且已停止 X 分钟。 - PORTS:容器对外暴露的端口以及宿主机上的映射端口(如果有的话)。
- NAMES:容器的名称。
这个命令对于查看和管理容器非常有用,比如当你需要重启一个容器、删除一个不再需要的容器或者查看某个容器的详细信息时,你可以首先通过 docker ps -a
命令找到容器的 CONTAINER ID 或 NAMES,然后使用其他 Docker 命令进行操作。
docker exec -it ubuntu-01 /bin/bash
命令
在 Docker 中用于在已经运行的容器内部启动一个新的 Bash 会话。这个命令允许你直接与容器的命令行交互,执行各种命令和操作,就像你在宿主机的终端中一样。
命令解析:
docker exec
:这是 Docker 的一个命令,用于在运行的容器中执行命令。-i
或--interactive
:保持容器的标准输入(STDIN)开放,即使没有附加也是如此。这允许你与容器进行交互。-t
或--tty
:分配一个伪终端或终端。这通常与-i
一起使用,以提供一个完整的终端体验。ubuntu-01
:这是要执行命令的容器的名称或 ID。你需要将ubuntu-01
替换为你的容器实际的名称或 ID。/bin/bash
:这是要在容器内执行的命令。/bin/bash
是 Bash shell 的路径,它允许你进入 Bash 会话。如果容器中没有 Bash,你可能需要使用/bin/sh
或其他可用的 shell。
使用这个命令后,你应该会看到容器的命令行提示符,现在你可以在其中执行任何 Bash 命令了。这对于调试、管理容器内的应用程序或简单地查看容器内的文件系统结构非常有用。
当你完成操作并希望退出 Bash 会话时,可以简单地输入 exit
命令或使用快捷键 Ctrl+D
。这将结束 Bash 会话,但容器本身将继续运行(除非你在 Bash 会话中启动了前台进程并希望它在退出时停止容器)。