专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

wbitt/network-multitool Docker 镜像 - 轩辕镜像

network-multitool
wbitt/network-multitool
基于Alpine的多架构容器网络故障排除多工具,包含丰富网络诊断工具和Nginx服务器(前身为Praqma的network-multitool)
46 收藏0 次下载activewbitt镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

WBITT Network-Multitool(前身为praqma/Network-MultiTool)

一款多架构容器/网络测试和故障排除多工具。主Docker镜像基于Alpine Linux,另有Fedora变体,适用于仅允许基于RedHat Linux或其衍生版的环境。

该容器镜像包含大量工具及Nginx Web服务器(默认监听80和443端口)。Web服务器使容器能以简单方式运行,方便通过exec进入容器使用各类工具。

名称/组织变更说明:

此前,我与Henrik共同创建并维护该工具,名为praqma/network-multitool。Praqma被其他公司收购后,"Praqma"品牌逐步停用,因此该工具的Git和Docker仓库需迁移。经公司当前代表决定,将其移交我继续维护。除仓库名称小幅变更外,工具功能无变化。

当前拉取该镜像的Docker仓库为:[***]

或使用命令:

docker pull wbitt/network-multitool

支持平台:

  • linux/386
  • linux/amd64
  • linux/arm/v7
  • linux/arm64

Docker Hub下载地址:

  • [***]

变体/镜像标签:

  • latest、minimal、alpine-minimal(主/默认**"minimal"**镜像 - 基于Alpine)
  • extra、alpine-extra(基于Alpine的扩展工具镜像)
  • openshift、openshift-minimal(OpenShift兼容 - minimal版)- 端口:1180、***
  • openshift-extra(OpenShift兼容的扩展工具版)- 端口:1180、***
  • fedora、fedora-minimal("minimal" Fedora基础镜像)
OpenShift变体重要说明:

OpenShift对容器镜像运行有严格限制,因此该多工具的OpenShift变体存在以下限制/变更:

  • 以非root用户运行;部分工具(如traceroute、tcptraceroute等)无法使用
  • 监听端口为1180和*** - 非80和443
  • 部分可执行文件手动设置为setuid以保持可用性,包括:
    • apk
    • arping
    • busybox
    • mii-tool
    • tcpdump
    • tcptraceroute
    • traceroute
    • tshark

请注意,此多工具纯为故障排除工具,不应用于滥用OpenShift(或任何系统)的安全性。

"latest、minimal、alpine-minimal、openshift、openshift-minimal"包含工具:

  • apk包管理器
  • Nginx Web服务器(端口80、443)- 支持自定义端口!
  • awk、cut、diff、find、grep、sed、vi编辑器、wc
  • curl、wget
  • dig、nslookup
  • ip、ifconfig、route
  • traceroute、tracepath、mtr、tcptraceroute(四层数据包追踪)
  • ping、arp、arping
  • ps、netstat
  • gzip、cpio、tar
  • telnet客户端
  • tcpdump
  • jq
  • bash

大小: 压缩后16 MB,未压缩38 MB

"extra、alpine-extra、openshift-extra"包含工具:

包含"minimal"版所有工具,另加:

  • iperf3
  • ethtool、mii-tool、route
  • nmap
  • ss
  • tshark
  • ssh客户端、lftp客户端、rsync、scp
  • netcat (nc)、socat
  • ApacheBench (ab)
  • mysql & postgresql客户端
  • git

大小: 压缩后64 MB,未压缩220 MB

"fedora、fedora-minimal"包含工具:

  • YUM包管理器
  • Nginx Web服务器(端口80、443)- 支持自定义端口!
  • wget、curl
  • dig、nslookup
  • ip、ifconfig、route、traceroute、tracepath、mtr
  • ping、arp、arping
  • ps、netstat
  • gzip、cpio、tar
  • telnet客户端
  • awk、cut、diff、find、grep、sed、vi编辑器、wc
  • jq
  • /bin/sh shell解释器 - 非/bin/bash

大小: 未压缩72 MB

注意: SSL证书为"localhost"生成的自签名证书,位于/certs/目录。测试时可忽略证书警告,使用curl时可加-k参数忽略SSL证书错误。

如何使用此镜像?

在普通容器/ Pod网络中使用

Docker:
$ docker run -d wbitt/network-multitool

然后:

$ docker exec -it 容器名称 /bin/bash
Kubernetes:

创建单个Pod(无部署):

$ kubectl run multitool --image=wbitt/network-multitool

创建部署:

$ kubectl create deployment multitool --image=wbitt/network-multitool

然后:

$ kubectl exec -it pod名称 /bin/bash

注意: 可在上述kubectl命令中添加--namespace=<目标命名空间>参数。

OpenShift:
$ 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 ***:***

在主机网络中使用

有时需使用主机网络进行测试,可通过主机网络模式运行多工具:

Docker:
$ docker run --network host -d wbitt/network-multitool

注意: 若主机80/443端口已被占用,可通过环境变量指定其他端口:

$ docker run --network host -e HTTP_PORT=1180 -e HTTPS_PORT=*** -d wbitt/network-multitool
Kubernetes:

Kubernetes环境中,可使用kubernetes目录下的multitool-daemonset.yaml清单在所有节点部署DaemonSet(使用主机网络):

$ kubectl apply -f kubernetes/multitool-daemonset.yaml

注意:

  • 可添加--namespace=<目标命名空间>参数
  • 为避免节点80/443端口冲突,DaemonSet默认配置使用1180和***端口,可修改YAML文件调整。

配置HTTP和HTTPS端口

当多工具与其他Web服务(如Nginx、Apache)或反向代理(如Traefik、HAProxy)在同一网络命名空间(Docker)或Pod(Kubernetes)中运行时,默认80/443端口可能冲突。可通过HTTP_PORT和HTTPS_PORT环境变量自定义监听端口:

$ docker run -e HTTP_PORT=1180 -e HTTPS_PORT=*** \
    -p 1180:1180 -p ***:*** -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:***->***/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: ***


$ curl -k https://localhost:***
Praqma Network MultiTool (with NGINX) - 4636efd4660c - 172.17.0.3/16 - HTTP: 1180 , HTTPS: ***

若未指定上述环境变量,容器默认监听80和443端口。

常见问题(FAQ)

为何多工具运行Web服务器?

通常,若容器未运行守护进程/服务,需使用"特殊方法"保持容器运行。运行小型Web服务器作为默认进程可简化使用:

  • Docker:直接docker run -d wbitt/network-multitool启动
  • Kubernetes:直接kubectl run multitool --image=wbitt/network-multitool启动

容器以Web服务器身份保持UP状态,随后可通过docker exec或kubectl exec进入容器使用工具。此外,Web服务器本身也是一个实用工具!

找不到我需要的工具?

我们已包含大多数常用工具,同时保持镜像小巧实用。若有特殊需求,建议基于此镜像构建自定义镜像并添加所需工具。

为何不使用LetsEncrypt SSL证书而使用自签名证书?

作为测试工具,SSL证书有效性无关紧要,无需使用LetsEncrypt。

为何在Kubernetes主机网络故障排除时使用DaemonSet?

直接在主机安装工具可能导致:

  • 多主机安装繁琐
  • 新包可能与现有包冲突
  • 卸载困难且可能破坏主机功能

DaemonSet提供"云原生"方式部署调试工具,支持卷挂载(如数据包捕获文件),且无需SSH到节点即可exec进入容器。

如何为此项目贡献?

欢迎贡献**"绝对必要"、"核心"、"体积小"且"适用场景广泛"**的工具/包。目标不是创建另一个Linux发行版! :)

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
wbitt/network-multitool
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429