以下是关于如何查看 Docker 命令(docker stats
、docker images
、docker ps
和 docker inspect
)可用的 --format
属性的方法,以及如何美化 JSON 输出的总结。
1. 查看可用属性的方法
1.1 docker stats
-
查看可用属性:
docker stats --no-stream --format 'table {{.}}' | head -n 1
或者
docker stats --no-stream --format '{{json .}}' | head -n 1 | jq .
-
输出为表格:
docker stats --no-stream --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}'
-
输出为 JSON:
docker stats --no-stream --format '{{json .}}'
1.2 docker images
-
查看可用属性:
docker images --format 'table {{.}}' | head -n 1
或者
docker images --format '{{json .}}' | head -n 1 | jq .
-
输出为表格:
docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.Size}}'
-
输出为 JSON:
docker images --format '{{json .}}'
1.3 docker ps
-
查看可用属性:
docker ps --format 'table {{.}}' | head -n 1
或者
docker ps --format '{{json .}}' | head -n 1 | jq .
-
输出为表格:
docker ps --format 'table {{.ID}}\t{{.Image}}\t{{.Status}}'
-
输出为 JSON:
docker ps --format '{{json .}}'
1.4 docker inspect
-
查看可用属性:
# docker inspect 默认输出就是 json,默认效果和美化 JSON 输出一样 docker inspect <container_id_or_name>
-
美化 JSON 输出:
使用jq
工具来美化输出:docker inspect <container_id_or_name> --format '{{json .}}' | jq .
-
输出为特定字段:
docker inspect --format '{{.Name}}: {{.State.Status}}' <container_id_or_name>
2. docker inspect
不同对象类型的获取示例
2.1 获取容器的基本信息
docker inspect --format '{{.Name}}: {{.State.Status}}' <container_id_or_name>
2.2 获取容器的 IP 地址
docker inspect --format '{{.NetworkSettings.IPAddress}}' <container_id_or_name>
2.3 获取容器的环境变量
# 遍历列表对象
docker inspect --format '{{range .Config.Env}}{{.}} {{end}}' <container_id_or_name>
2.4 获取容器的端口映射
docker inspect --format '{{json .NetworkSettings.Ports}}' <container_id_or_name>
2.5 获取镜像的创建时间和大小
docker inspect --format '{{.RepoTags}}: {{.Created}} - {{.Size}}' <image_id_or_name>
总结
通过上述方法,你可以灵活地查看 Docker 命令的可用属性,并使用 --format
选项以表格或 JSON 格式输出。对于 docker stats
、docker images
和 docker ps
,可以使用 --format 'table {{.}}' | head -n 1
或 --format '{{json .}}' | head -n 1
来查看可用属性。对于 docker inspect
,可以使用 --format '{{json .}}'
来获取详细信息,并通过 jq
工具美化 JSON 输出,使其更易于阅读和分析。
评论区