本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

network-multitool Docker 镜像下载 - 轩辕镜像

network-multitool 镜像详细信息和使用指南

network-multitool 镜像标签列表和版本信息

network-multitool 镜像拉取命令和加速下载

network-multitool 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

network-multitool
wbitt/network-multitool

network-multitool 镜像详细信息

network-multitool 镜像标签列表

network-multitool 镜像使用说明

network-multitool 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于Alpine的多架构容器网络故障排除多工具,包含丰富网络诊断工具和Nginx服务器(前身为Praqma的network-multitool)
46 收藏0 次下载activewbitt镜像

network-multitool 镜像详细说明

network-multitool 使用指南

network-multitool 配置说明

network-multitool 官方文档

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用户运行;部分工具(如traceroutetcptraceroute等)无法使用
  • 监听端口为1180*** - 80443
  • 部分可执行文件手动设置为setuid以保持可用性,包括:
    • apk
    • arping
    • busybox
    • mii-tool
    • tcpdump
    • tcptraceroute
    • traceroute
    • tshark

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

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

  • apk包管理器
  • Nginx Web服务器(端口80443)- 支持自定义端口!
  • 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_PORTHTTPS_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 execkubectl exec进入容器使用工具。此外,Web服务器本身也是一个实用工具!

找不到我需要的工具?

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

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

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

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

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

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

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

如何为此项目贡献?

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

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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