ddev/ddev-utilitiesddev-utilities是一个轻量级的Linux实用工具集合,提供一致的工具环境,包含以下核心工具:
该镜像旨在解决不同操作系统(如macOS与Linux)上工具行为不一致的问题,确保在各类环境中获得可预测的工具执行结果。
替代系统自带的base64命令,避免不同系统间解码行为差异:
bashecho "somebase64content" | docker run -i --rm ddev/ddev-utilities base64 -d
执行网络请求:
bashdocker run -i --rm ddev/ddev-utilities curl -I [***]
JSON数据处理工具,确保在没有本地安装jq的系统上可用:
bashddev describe -j | docker run -i --rm ddev/ddev-utilities jq -r .raw
提供一致的流编辑器行为,解决macOS等BSD系统与Linux系统的sed差异:
bashddev list -j | docker run -i --rm ddev/ddev-utilities bash -c "jq -r .raw | sed 's/ddev\\.site/tld/g'"
生成一致的哈希值,避免系统间shasum行为差异:
bashecho $RANDOM | docker run -i --rm ddev/ddev-utilities shasum -a 256
文件下载工具,支持复杂下载场景:
bashdocker run -it --rm -v ./:/pwd -u $(id -u):$(id -g) -w /pwd ddev/ddev-utilities bash -c "wget -qO- [***] | tar xz --strip-components=1"
YAML文件处理工具,示例:向DDEV配置添加post-start钩子
原配置示例:
yamlhooks: post-start: - exec-host: ddev mailpit
执行命令:
bashdocker run -i --rm -v ./:/pwd -u $(id -u):$(id -g) -w /pwd ddev/ddev-utilities yq -I4 -i '.hooks."post-start"[0]."exec-host" = "ddev mailpit"' .ddev/config.yaml
参考项目中的push.sh脚本:使用push.sh
直接启动容器进行交互:
bashdocker run -it --rm ddev/ddev-utilities
[***]
DDEV Docker Maintainers
[***]
[***]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务