alpine/xmlalpine/xml 是一个基于 Alpine Linux 的轻量级 Docker 镜像,集成了多种 XML 处理工具,旨在提供类似 jq 处理 JSON 文件的便捷方式来操作 XML 文档。该镜像适用于需要在命令行或自动化流程中快速解析、查询、转换 XML 文件的场景。
该镜像预装以下工具,覆盖 XML 处理的核心需求:
xmllint
jq
xq
该镜像无需额外配置,通过 docker run 命令直接调用工具即可。工具默认使用系统环境变量,无特殊配置参数。
场景:从远程 POM.xml 中提取 project.version 节点值
bashdocker run -ti --rm alpine/xml sh -c "curl -s [***] | xq .project.version"
说明:
curl -s:静默获取远程 XML 内容xq .project.version:通过 xq 查询 JSON 化后的 project.version 节点(xq 自动将 XML 转为 JSON 结构)场景:删除 XML 中的 project.version 节点,保留其他内容并输出 XML
bashdocker run -ti --rm alpine/xml sh -c "curl [***] | xq 'del(.project.version)' --xml-output"
说明:
del(.project.version):xq 的 del 函数删除 JSON 结构中的 project.version 节点--xml-output:强制 xq 输出 XML 格式(默认输出 JSON)场景:将本地 pom.xml 转换为 JSON 并输出
bash# Linux/macOS docker run -ti --rm -v $(pwd):/apps -w /apps alpine/xml sh -c "xq . < pom.xml" # Windows (PowerShell) docker run -ti --rm -v ${PWD}:/apps -w /apps alpine/xml sh -c "xq . < pom.xml"
说明:
-v $(pwd):/apps:将本地当前目录挂载到容器内 /apps 目录-w /apps:设置容器工作目录为 /apps(即本地挂载目录)xq . < pom.xml:读取本地 pom.xml,通过 xq . 输出完整 JSON 结构场景:验证本地 XML 文件格式是否合法
bash# Linux/macOS docker run -ti --rm -v $(pwd):/apps -w /apps alpine/xml xmllint --valid pom.xml
说明:
xmllint --valid:启用 XML 有效性验证(需 XML 包含 DTD/XSD 定义,否则仅检查语法)处理本地 XML 文件时,需通过 -v 参数将本地目录挂载到容器内(如示例 3、4),否则容器无法访问宿主机文件。挂载格式:
bash-v <宿主机目录>:/<容器内目录> # 如 -v $(pwd):/workspace 挂载当前目录到容器 /workspace
xmllint 支持 XML 验证、格式化、XPath 查询等高级功能,完整用法参见 xmllint 官方文档。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务