优雅的显示 docker ps
如图在终端上运行 docker ps
命令时显示的信息很乱,可能是因为终端的宽度不足以正确显示表格,导致输出的列布局混乱。可以尝试以下方法来解决这个问题:
增加终端宽度:
尝试扩大终端的宽度,以便能够更好地适应 docker ps
的输出。你可以通过调整终端窗口的大小或在终端设置中更改列数来实现。
【重点】使用 docker ps
参数:
使用 docker ps
命令的不同参数可以更改输出的格式。例如,你可以使用 --format
参数来指定输出的格式。以下是一个示例,将输出格式设置为表格,并仅显示有限的列:
docker ps -a --format "table {{.ID}}t{{.Names}}t{{.Image}}t{{.Status}}"
这样可以减少输出的列,使其更容易阅读。
这样就会显示的清爽很多。
name问题来了,命令行这么长我记不住怎么办?
解决方案是创建 别名
alias dockerps='docker ps -a --format "table {{.ID}}t{{.Names}}t{{.Image}}t{{.Status}}"'
将 带 format 格式化参数的命令保存一个简单好记的别名就可以了。
也可以将别名添加到 shell 配置文件中(持久性):
如果你想在每次启动终端时都保留别名,将别名添加到你的 shell 配置文件中。这通常是 ~/.bashrc
、~/.bash_profile
或 ~/.zshrc
等文件。
echo 'alias dockerps="docker ps --format "table {{.ID}}t{{.Names}}t{{.Image}}t{{.Status}}""' >> ~/.bashrc
带边框
如果想在 docker ps
输出中添加边框,可以使用 awk
等工具来添加边框。
docker ps -a --format "table {{.Names}}t{{.Image}}t{{.Status}}" | awk 'BEGIN {print "+--------------+------------------------+---------------------+------------+"} {printf("| %-24s | %-12s | %-19s |n", $1, $2, $3)} END {print "+--------------+------------------------+---------------------+------------+"}'
使用 docker ps
的其他参数:
- 使用
--quiet
参数只显示容器 ID,减少输出信息。 - 使用
--size
参数显示每个容器使用的磁盘空间。 - 使用
--format
自定义输出格式,选择你想要显示的列。
docker ps --quiet
docker ps --size
使用 docker ps
的过滤器:
你可以使用 docker ps
的过滤器来限制显示的容器。例如,你可以使用 --filter
参数按状态过滤容器:
docker ps --filter "status=running"
通过调整终端宽度、使用合适的参数以及过滤器,应该就能够更清晰地查看 docker ps
的输出。
常用的字段
docker ps --format
选项允许你定义输出的格式,你可以在格式字符串中使用一系列可用的字段,以获取容器的相关信息。以下是一些常用的字段:
ID: 容器的唯一标识符(短ID)。
Names: 容器的名称,通常是一个唯一的标识符。
Image: 使用的镜像名称。
ImageID: 镜像的唯一标识符。
Command: 启动容器时运行的命令。
CreatedAt: 容器的创建时间。
RunningFor: 容器运行的时间。
Ports: 容器的端口映射。
Status: 容器的状态。
Size: 容器使用的磁盘空间大小。
可以通过在 --format 中使用 {{.FieldName}} 的形式来引用这些字段。例如,如果你想获取容器的名称和状态,你可以使用以下格式:
docker ps --format "table {{.Names}}t{{.Status}}"