A comprehensive debugging container built on Alpine Linux, packed with 60+ networking, performance testing, and troubleshooting tools for debugging container infrastructure, especially Kubernetes environments.
- Code repository: https://github.com/tuxpeople/docker-debugcontainer
- Where to file issues: https://github.com/tuxpeople/docker-debugcontainer/issues
- Supported architectures:
amd64andarm64 - Base image: Alpine Linux 3.22.2
latest- Latest tagged releasex.y.z,x.y,x- Semantic version tags (e.g.,1.0.0,1.0,1)nightly- Automatically built by daily cron jobdevel- Latest version from master branch (built on every push)
# Docker Hub
docker pull tdeutsch/debugcontainer:latest
# GitHub Container Registry
docker pull ghcr.io/tuxpeople/debugcontainer:latesttcpdump, nmap, mtr, iperf3, netcat, socat, arping, ethtool, tcptraceroute, ngrep, bind-tools, dnsperf, sslscan
kubectl, crane, flux, ytt, imgpkg, oras
mariadb-client, azure-cli
minio-client, nfs-utils, rsync
fio, hdparm, ioping, iozone, speedtest-cli
bash, curl, wget, jq, yq, vim, git, screen, tmux, htop, lsof, tree, mc, p7zip
Start an interactive shell in a running Kubernetes pod:
kubectl run debugcontainer --rm -it --image=tdeutsch/debugcontainer:latest -- /bin/bashTest connectivity and DNS resolution:
# Run container with network debugging
docker run -it --rm tdeutsch/debugcontainer:latest /bin/bash
# Inside container - test DNS
nslookup example.com
dig example.com
# Test connectivity
ping -c 3 8.8.8.8
mtr google.com
# Port scanning
nmap -p 80,443 example.com
# Bandwidth testing
iperf3 -c iperf.example.comDeploy as a sidecar to capture traffic from another container:
apiVersion: v1
kind: Pod
metadata:
name: app-with-debug
spec:
containers:
- name: app
image: your-app:latest
- name: debugger
image: tdeutsch/debugcontainer:latest
securityContext:
capabilities:
add: ["NET_ADMIN", "NET_RAW"]
command: ["/bin/sleep", "inf"]Then exec into the sidecar and capture traffic:
kubectl exec -it app-with-debug -c debugger -- tcpdump -i any -w /tmp/capture.pcapTest disk I/O performance:
docker run -it --rm -v /path/to/test:/workdir tdeutsch/debugcontainer:latest /bin/bash
# Inside container
cd /workdir
/scripts/hdd-perf.shWork with container registries using ORAS:
docker run -it --rm tdeutsch/debugcontainer:latest /bin/bash
# Push artifact to registry
oras push myregistry.io/myartifact:v1 ./file.txt
# Pull artifact
oras pull myregistry.io/myartifact:v1
# Check ORAS version
cat /etc/oras-versiondocker run -it --rm tdeutsch/debugcontainer:latest /bin/bash
# Test MySQL/MariaDB connection
mysql -h database.example.com -u user -p
# Azure CLI operations
az login
az account list- Kubernetes Debugging: Deploy as a troubleshooting pod to diagnose cluster issues
- Network Analysis: Capture and analyze traffic between services
- Performance Testing: Benchmark storage, network, and compute resources
- Sidecar Diagnostics: Run alongside application containers to debug without modifying the app image
- CI/CD Testing: Use in pipelines to verify connectivity and services
- Learning Tool: Experiment with various DevOps and networking tools in an isolated environment
# Build for local platform
docker build -t debugcontainer:local .
# Build for multiple platforms
docker buildx build --platform linux/amd64,linux/arm64 -t debugcontainer:local .Contributions are welcome! Please open an issue or pull request on GitHub.
Note: This project uses conventional commits for automatic versioning. Commit messages must follow the format:
feat:for new features (minor version bump)fix:for bug fixes (patch version bump)chore:,docs:,refactor:for non-release changes
See the LICENSE file for details.