You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Docker命令执行结果导出至CSV文件?

将Docker命令结果导出为CSV文件

以docker ps为例,这里有几种可靠的方法把命令输出转成CSV格式:

方法1:用Docker自带的--format参数(推荐)

Docker命令支持通过--format自定义输出格式,直接生成符合CSV规范的内容,避免处理复杂的表格空格分隔问题。

导出带表头的容器列表:

先写入CSV表头,再追加容器数据:

echo "CONTAINER ID,NAMES,IMAGE,STATUS,PORTS" > containers.csv
docker ps --format '{{.ID}},{{.Names}},{{.Image}},{{.Status}},{{.Ports}}' >> containers.csv

处理含特殊字符的字段(如逗号)

如果容器名、镜像名等字段可能包含逗号,用双引号包裹每个字段,防止CSV解析出错:

echo "\"CONTAINER ID\",\"NAMES\",\"IMAGE\",\"STATUS\",\"PORTS\"" > containers.csv
docker ps --format '"{{.ID}}","{{.Names}}","{{.Image}}","{{.Status}}","{{.Ports}}"' >> containers.csv

方法2:处理默认表格输出(不推荐,适合临时场景)

如果需要处理Docker命令默认的表格输出,可以用awk等工具分割字段,但要注意字段内可能包含空格(比如COMMAND字段),这种方式容易出错:

docker ps | awk 'BEGIN {OFS=","} 
NR==1 {print "CONTAINER ID", "IMAGE", "COMMAND", "CREATED", "STATUS", "PORTS", "NAMES"} 
NR>1 {print $1, $2, substr($0, index($0,$3), index($0,$4)-index($0,$3)-1), $4, $5, $6, substr($0, index($0,$7))}' > containers.csv

通用思路:其他Docker命令的导出

对于docker inspect、docker images等命令,同样可以用--format提取所需字段生成CSV:
比如导出容器ID和对应的IP地址:

echo "CONTAINER ID,IP ADDRESS" > container_ips.csv
docker ps -q | xargs docker inspect --format '{{.Id}},{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' >> container_ips.csv

内容的提问来源于stack exchange,提问作者Lokesh Senthilkumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 01:21:36