轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
netshoot

bretfisher/netshoot

bretfisher
自动构建

netshoot是Docker和Kubernetes网络故障排除的“瑞士军刀”容器,集成丰富网络诊断工具,支持进入容器、主机或网络命名空间排查延迟、路由、DNS解析等网络问题,适用于Docker和K8s环境的网络故障定位与分析。

7 次收藏下载次数: 0状态:自动构建维护者:bretfisher仓库类型:镜像最近更新:8 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

netshoot:Docker + Kubernetes网络故障排除瑞士军刀容器

                    dP            dP                           dP
                    88            88                           88
88d888b. .d8888b. d8888P .d8888b. 88d888b. .d8888b. .d8888b. d8888P
88'  `88 88ooood8   88   Y8ooooo. 88'  `88 88'  `88 88'  `88   88
88    88 88.  ...   88         88 88    88 88.  .88 88.  .88   88
dP    dP `88888P'   dP   `88888P' dP    dP `88888P' `88888P'   dP

镜像概述和主要用途

用途:Docker和Kubernetes网络故障排除可能变得复杂。通过正确理解Docker和Kubernetes网络工作原理并使用合适的工具集,您可以排查和解决这些网络问题。netshoot容器提供了一套强大的网络故障排除工具,可用于诊断Docker网络问题,并附带一系列实际场景中的使用案例说明。

核心功能和特性

网络命名空间

使用此工具前,需了解一个关键概念:网络命名空间(Network Namespaces)。网络命名空间提供网络相关系统资源的隔离。Docker使用网络命名空间及其他类型的命名空间(pid、mount、user等)为每个容器创建隔离环境,其中接口、路由和IP等网络资源在容器的网络命名空间内完全隔离。

Kubernetes同样使用网络命名空间,Kubelet为每个Pod创建一个网络命名空间,Pod内所有容器共享该命名空间(包括网卡、IP、TCP套接字等),这是Docker容器与Kubernetes Pod的关键区别。

命名空间的优势在于可切换,您可以进入其他容器的网络命名空间,使用未安装在目标容器中的工具对其网络栈进行故障排除。此外,netshoot可通过主机网络命名空间排查主机本身的网络问题,无需在主机或应用容器中直接安装工具。

  • 容器网络命名空间:若应用容器存在网络问题,可使用目标容器的网络命名空间启动netshoot:

    bash
    $ docker run -it --net container:<container_name> nicolaka/netshoot
    
  • 主机网络命名空间:若怀疑问题出在主机,可使用主机网络命名空间启动netshoot:

    bash
    $ docker run -it --net host nicolaka/netshoot
    
  • 网络的网络命名空间:若需排查Docker网络,可使用nsenter进入网络命名空间,详见下文“nsenter”部分。

Kubernetes使用

创建临时调试容器:

bash
$ kubectl run tmp-shell --rm -i --tty --image nicolaka/netshoot -- /bin/bash

使用主机网络命名空间创建容器:

bash
$ kubectl run tmp-shell --rm -i --tty --overrides='{"spec": {"hostNetwork": true}}'  --image nicolaka/netshoot  -- /bin/bash

常见网络问题

许多网络问题会导致应用性能下降,部分与底层网络基础设施(underlay)相关, others与主机或Docker层配置错误有关。常见网络问题包括:

  • 延迟(latency)
  • 路由(routing)
  • DNS解析(DNS resolution)
  • 防火墙(firewall)
  • ARP不完整(incomplete ARPs)

为排查这些问题,netshoot集成了一套强大工具,推荐参考以下工具图:

![]([***]

包含的工具包

netshoot包含以下工具包,下文将结合示例说明部分工具的使用场景:

apache2-utils
bash
bind-tools
bird
bridge-utils
busybox-extras
calicoctl
conntrack-tools
ctop
curl
dhcping
drill
ethtool
file
fping
httpie
iftop
iperf
iproute2
ipset
iptables
iptraf-ng
iputils
ipvsadm
jq
libc6-compat
liboping
mtr
net-snmp-tools
netcat-openbsd
netgen
nftables
ngrep
nmap
nmap-nping
openssl
py-crypto
py2-virtualenv
python2
scapy
socat
strace
tcpdump
tcptraceroute
termshark
tshark
util-linux
vim
websocat

使用场景和示例

iperf:测试网络性能

用途:测试两个容器/主机之间的网络性能。

创建覆盖网络:

bash
$ docker network create -d overlay perf-test

启动两个容器:

bash
🐳  → docker service create --name perf-test-a --network perf-test nicolaka/netshoot iperf -s -p 9999
7dkcckjs0g7b4eddv8e5ez9nv

🐳  → docker service create --name perf-test-b --network perf-test nicolaka/netshoot iperf -c perf-test-a -p 9999
2yb6fxls5ezfnav2z93lua8xl

🐳  → docker service ls
ID            NAME         REPLICAS  IMAGE              COMMAND
2yb6fxls5ezf  perf-test-b  1/1       nicolaka/netshoot  iperf -c perf-test-a -p 9999
7dkcckjs0g7b  perf-test-a  1/1       nicolaka/netshoot  iperf -s -p 9999

🐳  → docker ps
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS               NAMES
ce4ff40a5456        nicolaka/netshoot:latest   "iperf -s -p 9999"       31 seconds ago      Up 30 seconds                           perf-test-a.1.bil2mo8inj3r9nyrss1g15qav

🐳  → docker logs ce4ff40a5456
------------------------------------------------------------
Server listening on TCP port 9999
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.0.3.3 port 9999 connected with 10.0.3.5 port 35102
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  32.7 GBytes  28.1 Gbits/sec
[  5] local 10.0.3.3 port 9999 connected with 10.0.3.5 port 35112

tcpdump: packet分析工具

用途:强大的命令行packet分析工具,可显示TCP/IP等协议的传输或接收packet。

延续iperf示例,使用perf-test-a容器的网络命名空间启动netshoot并抓包:

bash
🐳  → docker run -it --net container:perf-test-a.1.0qlf1kaka0cq38gojf7wcatoa  nicolaka/netshoot 

# 在eth0接口上捕获TCP端口9999的packet,捕获1个后停止并显示十六进制数据
/ # tcpdump -i eth0 port 9999 -c 1 -Xvv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
23:14:09.771825 IP (tos 0x0, ttl 64, id 60898, offset 0, flags [DF], proto TCP (6), length 64360)
    10.0.3.5.60032 > 0e2ccbf3d608.9999: Flags [.], cksum 0x1563 (incorrect -> 0x895d), seq 222376702:222441010, ack 3545090958, win 221, options [nop,nop,TS val 2488870 ecr 2488869], length 64308
	0x0000:  4500 fb68 ede2 4000 4006 37a5 0a00 0305  E..h..@.@.7.....
	0x0010:  0a00 0303 ea80 270f 0d41 32fe d34d cb8e  ......'..A2..M..
	0x0020:  8010 00dd 1563 0000 0101 080a 0025 fa26  .....c.......%.&
	0x0030:  0025 fa25 0000 0000 0000 0001 0000 270f  .%.%..........'.
	0x0040:  0000 0000 0000 0000 ffff d8f0 3435 3637  ............4567
	0x0050:  3839 3031 3233 3435 3637 3839 3031 3233  8901234567890123
	0x0060:  3435 3637 3839 3031 3233 3435 3637 3839  4567890123456789
	0x0070:  3031 3233 3435 3637 3839 3031 3233 3435  0123456789012345
	0x0080:  3637 3839 3031 3233 3435 3637 3839 3031  6789012345678901
	0x0090:  3233 3435 3637 3839 3031 3233 3435 3637  2345678901234567
	0x00a0:  3839 3031 3233 3435 3637 3839 3031 3233  8901234567890123
	0x00b0:  3435 3637 3839 3031 3233 3435 3637 3839  4567890123456789
	0x00c0:  3031 3233 3435 3637 3839 3031 3233 3435  0123456789012345
	0x00d0:  3637 3839 3031 3233 3435 3637 3839 3031  6789012345678901
	0x00e0:  3233 3435 3637 3839 3031 3233 3435 3637  2345678901234567
	0x00f0:  3839 3031 3233 3435 3637 3839 3031 3233  8901234567890123
	0x0100:  3435 3637 3839 3031 3233 3435 3637 3839  4567890123456789

更多关于tcpdump的信息可参考tcpdump手册。

netstat:网络连接状态工具

用途:检查网络配置和活动的实用工具。

延续iperf示例,使用netstat确认容器监听9999端口:

bash
🐳  → docker run -it --net container:perf-test-a.1.0qlf1kaka0cq38gojf7wcatoa  nicolaka/netshoot 

/ # netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.11:46727        0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:9999            0.0.0.0:*               LISTEN      -
udp        0      0 127.0.0.11:39552        0.0.0.0:*                           -

nmap:网络扫描工具

nmap(“Network Mapper”)是开源网络探测和安全审计工具,可扫描主机间开放端口,常用于检查Swarm或UCP集群通信所需端口是否开放。

bash
🐳  → docker run -it --privileged nicolaka/netshoot nmap -p 12376-12390 -dd 172.31.24.25

...
Discovered closed port 12388/tcp on 172.31.24.25
Discovered closed port 12379/tcp on 172.31.24.25
Discovered closed port 12389/tcp on 172.31.24.25
Discovered closed port 12376/tcp on 172.31.24.25
...

端口状态说明:

  • open:端口通路开放,且有应用监听
  • closed:端口通路开放,但无应用监听
  • filtered:端口通路关闭,被防火墙、路由规则或主机规则阻止

iftop:网络带宽监控工具

用途:类似top监控CPU,iftop监听指定接口的网络流量,按主机对显示当前带宽使用情况。

延续iperf示例:

bash
 → docker ps
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS               NAMES
ce4ff40a5456        nicolaka/netshoot:latest   "iperf -s -p 9999"       5 minutes ago       Up 5 minutes                            perf-test-a.1.bil2mo8inj3r9nyrss1g15qav

🐳  → docker run -it --net container:perf-test-a.1.bil2mo8inj3r9nyrss1g15qav nicolaka/netshoot iftop -i eth0

!iftop.png

drill:DNS查询工具

用途:获取DNS相关信息的工具。

延续iperf示例,使用drill查看Docker中服务DNS解析:

bash
🐳  → docker run -it --net container:perf-test-a.1.bil2mo8inj3r9nyrss1g15qav nicolaka/netshoot drill -V 5 perf-test-b
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 0
;; flags: rd ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; perf-test-b.	IN	A

;; ANSWER SECTION:

;; AUTHORITY SECTION:

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 netshoot 镜像标签

docker pull docker.xuanyuan.run/bretfisher/netshoot:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull bretfisher/netshoot:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

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

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
bretfisher/netshoot
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 netshoot 镜像推荐

nicolaka/netshoot logo

nicolaka/netshoot

nicolaka
这是一个Docker网络故障排查的“瑞士军刀”容器,集成了多种网络诊断工具,可高效支持Docker环境下网络连接、配置、性能及通信异常等问题的排查与分析,轻量便携且功能全面,为开发与运维人员快速定位和解决Docker网络故障提供一站式工具支持。
327 次收藏1亿+ 次下载
5 个月前更新
chrch/netshoot logo

chrch/netshoot

chrch
暂无描述
10万+ 次下载
9 年前更新
cirocosta/netshoot logo

cirocosta/netshoot

cirocosta
这是一个Docker网络故障排查工具镜像,集成tcpdump、iperf、nmap等多种网络诊断工具,支持进入容器、主机或网络命名空间分析网络问题,无侵入性且功能丰富。
1万+ 次下载
9 年前更新
farmer1992/netshoot logo

farmer1992/netshoot

farmer1992
暂无描述
10万+ 次下载
6 年前更新
gabidavar/netshoot logo

gabidavar/netshoot

gabidavar
netshoot是一个Docker和Kubernetes网络故障排除的瑞士军刀容器,集成多种网络诊断工具,可进入容器、主机或网络命名空间,解决 latency、路由、DNS、防火墙等网络问题,无需在主机或应用容器安装工具。
1万+ 次下载
5 年前更新
kubesphere/netshoot logo

kubesphere/netshoot

kubesphere
暂无描述
1万+ 次下载
7 年前更新

查看更多 netshoot 相关镜像