
leodotcloud/swiss-army-knife在生产环境中,容器化应用出现问题时,容器内部通常缺乏必要的调试工具,导致问题难以定位。swiss-army-knife镜像旨在解决这一痛点,集成了生产环境调试所需的各类工具,支持附加到目标容器的网络命名空间,帮助开发者高效排查容器化应用故障。此外,镜像还包含一个小型Web应用,用于测试和调试网络连通性等场景。
Dockerfile地址:[***]
--net=container:${CONTAINER_ID_TO_DEBUG}参数附加到目标容器的网络命名空间,直接共享其网络栈,实现对目标容器网络环境的精准调试。启动工具容器并关联目标容器网络
运行工具容器,指定待调试容器的ID或名称,使其共享目标容器的网络命名空间:
bashdocker run --name swiss-army-knife --net=container:${CONTAINER_ID_TO_DEBUG} -itd leodotcloud/swiss-army-knife
其中 ${CONTAINER_ID_TO_DEBUG} 需替换为实际待调试容器的ID或名称。
进入工具容器命令行
通过docker exec进入运行中的工具容器,获取交互式bash环境:
bashdocker exec -it swiss-army-knife bash
执行调试命令
在工具容器内直接使用各类调试工具,例如抓取网络数据包:
bashtcpdump -i eth0 -vvv -nn -s0 -SS -XX
镜像包含多种调试工具,除上述tcpdump外,还包括curl、ping、netstat、dig、iftop等,可根据具体调试场景直接调用。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务