【docker】根据docker inspect获取启动参数
背景
服务器里起了好些服务,但启动脚本已经丢失了,怎样通过运行中的容器反推启动脚本呢?
启动脚本:环境变量,端口映射什么的
通过 docker inspect
通过 docker inspect 可以拿到一些信息,但信息确实很多,并且几十个服务,总不能一个一个去查,怎么办,
当然是写脚本,
但写脚本之前,先找一下,通过一个容器的 docker inspect 信息,怎样快速把 env 信息捞出来呢?
一个 docker inspect 的示例:
[ { ... "State": { "Status": "running", ... "Config": { ... "StdinOnce": false, "Env": [ "spring.cloud.inetutils.preferred-networks=10.1.12.14", ], ... } ]
获取 env 参数
docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" "$container" >> "$output_file"
获取容器端口映射
docker port "$container"
融合到一个脚本里面
#!/bin/bash # 定义存储结果的文件路径 output_file="/tmp/docker.txt" # 清空文件内容 > "$output_file" # 遍历容器列表 containers=$(docker ps --format "{{.Names}}") for container in $containers; do echo "Container: $container" >> "$output_file" # 获取容器的启动参数 echo " Start Command:" >> "$output_file" docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" "$container" >> "$output_file" # 取容器的端口映射信息 echo " Port Mapping:" >> "$output_file" docker port "$container" >> "$output_file" echo "" >> "$output_file" done echo "输出完成,请查看 $output_file 文件。"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2022-12-12 MAC执行sed命令报“command c expects \ followed by text”错误解决办法