
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
praqma/Network-MultiTool)一款多架构容器/网络测试和故障排除多工具。主Docker镜像基于Alpine Linux,另有Fedora变体,适用于仅允许基于RedHat Linux或其衍生版的环境。
该容器镜像包含大量工具及Nginx Web服务器(默认监听80和443端口)。Web服务器使容器能以简单方式运行,方便通过exec进入容器使用各类工具。
此前,我与https://github.com/hoeghh%E5%85%B1%E5%90%8C%E5%88%9B%E5%BB%BA%E5%B9%B6%E7%BB%B4%E6%8A%A4%E8%AF%A5%E5%B7%A5%E5%85%B7%EF%BC%8C%E5%90%8D%E4%B8%BA%60praqma/network-multitool%60%E3%80%82Praqma%E8%A2%AB%E5%85%B6%E4%BB%96%E5%85%AC%E5%8F%B8%E6%94%B6%E8%B4%AD%E5%90%8E%EF%BC%8C%22Praqma%22%E5%93%81%E7%89%8C%E9%80%90%E6%AD%A5%E5%81%9C%E7%94%A8%EF%BC%8C%E5%9B%A0%E6%AD%A4%E8%AF%A5%E5%B7%A5%E5%85%B7%E7%9A%84Git%E5%92%8CDocker%E4%BB%93%E5%BA%93%E9%9C%80%E8%BF%81%E7%A7%BB%E3%80%82%E7%BB%8F%E5%85%AC%E5%8F%B8%E5%BD%93%E5%89%8D%E4%BB%A3%E8%A1%A8%E5%86%B3%E5%AE%9A%EF%BC%8C%E5%B0%86%E5%85%B6%E7%A7%BB%E4%BA%A4%E6%88%91%E7%BB%A7%E7%BB%AD%E7%BB%B4%E6%8A%A4%E3%80%82%E9%99%A4%E4%BB%93%E5%BA%93%E5%90%8D%E7%A7%B0%E5%B0%8F%E5%B9%85%E5%8F%98%E6%9B%B4%E5%A4%96%EF%BC%8C%E5%B7%A5%E5%85%B7%E5%8A%9F%E8%83%BD%E6%97%A0%E5%8F%98%E5%8C%96%E3%80%82
当前拉取该镜像的Docker仓库为:https://hub.docker.com/r/wbitt/network-multitool
或使用命令:
docker pull wbitt/network-multitool
OpenShift对容器镜像运行有严格限制,因此该多工具的OpenShift变体存在以下限制/变更:
traceroute、tcptraceroute等)无法使用1180和11443 - 非80和443setuid以保持可用性,包括:
请注意,此多工具纯为故障排除工具,不应用于滥用OpenShift(或任何系统)的安全性。
80、443)- 支持自定义端口!大小: 压缩后16 MB,未压缩38 MB
包含"minimal"版所有工具,另加:
大小: 压缩后64 MB,未压缩220 MB
/bin/sh shell解释器 - 非/bin/bash大小: 未压缩72 MB
注意: SSL证书为"localhost"生成的自签名证书,位于/certs/目录。测试时可忽略证书警告,使用curl时可加-k参数忽略SSL证书错误。
$ docker run -d wbitt/network-multitool
然后:
$ docker exec -it 容器名称 /bin/bash
创建单个Pod(无部署):
$ kubectl run multitool --image=wbitt/network-multitool
创建部署:
$ kubectl create deployment multitool --image=wbitt/network-multitool
然后:
$ kubectl exec -it pod名称 /bin/bash
注意: 可在上述kubectl命令中添加--namespace=<目标命名空间>参数。
$ oc new-project test-project-1 $ oc new-app wbitt/network-multitool:openshift --name multitool-openshift $ oc status $ oc get pods $ oc logs pod名称 $ oc exec -it pod名称 /bin/sh $ oc port-forward pod名称 1180:1180 11443:11443
有时需使用主机网络进行测试,可通过主机网络模式运行多工具:
$ docker run --network host -d wbitt/network-multitool
注意: 若主机80/443端口已被占用,可通过环境变量指定其他端口:
$ docker run --network host -e HTTP_PORT=1180 -e HTTPS_PORT=11443 -d wbitt/network-multitool
Kubernetes环境中,可使用kubernetes目录下的multitool-daemonset.yaml清单在所有节点部署DaemonSet(使用主机网络):
$ kubectl apply -f kubernetes/multitool-daemonset.yaml
注意:
--namespace=<目标命名空间>参数当多工具与其他Web服务(如Nginx、Apache)或反向代理(如Traefik、HAProxy)在同一网络命名空间(Docker)或Pod(Kubernetes)中运行时,默认80/443端口可能冲突。可通过HTTP_PORT和HTTPS_PORT环境变量自定义监听端口:
$ docker run -e HTTP_PORT=1180 -e HTTPS_PORT=11443 \ -p 1180:1180 -p 11443:11443 -d wbitt/network-multitool 4636efd4660c2436b3089ab1a979e5ce3ae23055f9ca5dc9ffbab508f28dfa2a $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4636efd4660c wbitt/network-multitool "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 80/tcp, 0.0.0.0:1180->1180/tcp, 443/tcp, 0.0.0.0:11443->11443/tcp recursing_nobel 6e8b6ed8bfa6 nginx "nginx -g 'daemon of…" 56 minutes ago Up 56 minutes 80/tcp nginx $ curl http://localhost:1180 Praqma Network MultiTool (with NGINX) - 4636efd4660c - 172.17.0.3/16 - HTTP: 1180 , HTTPS: 11443 $ curl -k https://localhost:11443 Praqma Network MultiTool (with NGINX) - 4636efd4660c - 172.17.0.3/16 - HTTP: 1180 , HTTPS: 11443
若未指定上述环境变量,容器默认监听80和443端口。
通常,若容器未运行守护进程/服务,需使用"特殊方法"保持容器运行。运行小型Web服务器作为默认进程可简化使用:
docker run -d wbitt/network-multitool启动kubectl run multitool --image=wbitt/network-multitool启动容器以Web服务器身份保持UP状态,随后可通过docker exec或kubectl exec进入容器使用工具。此外,Web服务器本身也是一个实用工具!
我们已包含大多数常用工具,同时保持镜像小巧实用。若有特殊需求,建议基于此镜像构建自定义镜像并添加所需工具。
作为测试工具,SSL证书有效性无关紧要,无需使用LetsEncrypt。
直接在主机安装工具可能导致:
DaemonSet提供"云原生"方式部署调试工具,支持卷挂载(如数据包捕获文件),且无需SSH到节点即可exec进入容器。
欢迎贡献**"绝对必要"、"核心"、"体积小"且"适用场景广泛"**的工具/包。目标不是创建另一个Linux发行版! :)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务