驱动数字化 质变

从权威的技术洞察,到精准的软硬配置,为企业的每一次转型提供决策支持。

开发与运维工具链
Netshoot
厂商/来源: nicolaka
核心功能: “给瞎子开天眼”。当你的业务容器为了追求极小体积(如 5MB 的 Alpine)而删光了所有网络工具时,用它进行“灵魂附体”式排障。
适用场景调试无工具的基础镜像 (Distroless/Alpine)、抓取特定 Pod 的包、K8s/Docker 疑难网络排障
架构支持Docker 镜像 (极其庞大,里面塞满了网络黑客工具)
核心机制

网络命名空间共享 (Network Namespace Injection)

 这是最硬核的黑科技。你不需要在业务容器里 apt install tcpdump(生产环境也不允许)。<br> 你只需要运行:docker run -it --network container:<业务容器ID> nicolaka/netshoot

 Netshoot 会直接“寄生”到业务容器的网络里,你在这个急救箱里敲的任何 netstattcpdumpnslookup,看到的都是业务容器真实的网络状态!

内置兵器库tcpdumpiperfnmaptsharkjqcurltelnetmtr……应有尽有。
避坑指南

[文件系统隔离]

 1. 看不到业务文件:共享的只是 网络 (Network Namespace),并不是文件系统。你在 Netshoot 里无法修改业务容器的 /etc/nginx/nginx.conf对策:如果遇到文件问题,依然需要通过宿主机挂载目录来修改。

2. K8s 环境用法:在 Kubernetes 下,不能直接用 Docker 命令。需要使用 kubectl debug -it <pod-name> --image=nicolaka/netshoot --target=<container-name> 挂载临时排障容器 (Ephemeral Containers)。

推荐搭配[Distroless 安全容器] [Kubernetes 集群]