How to list containers in Docker
How to list containers in Docker
技术背景
在使用Docker进行容器化应用开发和部署时,经常需要查看当前系统中运行的容器或所有容器的信息。了解如何列出容器对于管理和监控容器状态至关重要。
实现步骤
显示正在运行的容器
使用 docker ps
命令可以显示当前正在运行的容器。
1 |
|
显示所有容器
要显示所有容器(包括已停止的容器),可以使用 docker ps -a
命令。
1 |
|
显示最新创建的容器
使用 docker ps -l
命令可以显示最新创建的容器(包括所有状态)。
1 |
|
显示最后创建的n个容器
使用 docker ps -n
命令可以显示最后创建的n个容器(包括所有状态)。例如,显示最后创建的5个容器:
1 |
|
显示容器的总文件大小
使用 docker ps -s
命令可以显示容器的总文件大小。
1 |
|
新命令语法
在新版本的Docker中,还可以使用 docker container ls
命令来列出容器,其效果与 docker ps
类似。
1 |
|
显示所有容器:
1 |
|
仅显示容器的SHA1值
使用 docker ps -aq --no-trunc
命令可以仅显示容器的SHA1值,方便用于其他需要容器ID作为参数的命令。
1 |
|
仅显示容器的名称
使用 docker inspect --format='{{.Name}}' $(docker ps -aq --no-trunc)
命令可以仅显示容器的名称。
1 |
|
列出所有停止的容器
使用 docker ps --filter "status=exited"
或 docker ps -f "status=exited"
命令可以列出所有停止的容器。
1 |
|
1 |
|
核心代码
以下是一些常用的列出容器的命令总结:
1 |
|
最佳实践
- 定期使用
docker ps -a
命令查看所有容器的状态,及时清理不再使用的容器,以释放系统资源。 - 在编写自动化脚本时,使用
docker ps -q
仅获取容器的ID,方便进行批量操作,如批量停止或删除容器。
常见问题
无法连接到Docker守护进程
如果遇到 Cannot connect to the Docker daemon
错误信息,可能是因为Docker守护进程以root权限运行,需要在命令前加上 sudo
。
1 |
|
旧命令和新命令的选择
在新版本的Docker中,虽然旧命令(如 docker ps
)仍然支持,但建议使用新的命令语法(如 docker container ls
),以保持与未来版本的兼容性。