以下是关于如何查看 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 输出,使其更易于阅读和分析。


评论区