Packing any application with a tiny/bare minimal base image sounds like an awesome/cool/intelligent idea, until things break and there are no tools inside the container to debug the problem at hand.
This repo/docker image solves this problem by providing a robust image equipped with a wide array of tools needed to debug the majority of issues in production environments, nased on a SUSE Base Container Image.
This image also includes a very small web application for testing/debugging purposes.
The reason I created this image, I wanted the tools to run on AMD64 and ARM64
# Run as a stand-alone container with a echo-server on port 80 and nginx on port 8080
docker run --name nettools evantage/nettools
# Exec into the container, created above, with a bash shell where the 2 webservices are running
docker exec -it nettools bash
# Run as a stand-alone container with a bash shell
docker run --name nettools -it evantage/nettools bash
# Run and attach to the network namespace of the container to debug
docker run --name todebug --net=container:${CONTAINER_ID_TO_DEBUG} -itd evantage/nettools
# Exec into the tools container
docker exec -it todebug bash
# Show off your ninja skill!
tcpdump -i eth0 -vvv -nn -s0 -SS -XX
# If you want to debug using an ephemeral container in an existing pod
kubectl debug mypod -it --image evantage/nettools
# If you want to spin up a throw away pod for debugging
kubectl run tmp-shell --rm -i --tty --image evantage/nettools
# If you want to spin up a container on the host's network namespace.
kubectl run tmp-shell --rm -i --tty --overrides='{"spec": {"hostNetwork": true}}' --image evantage/nettools
The nettools image includes the following tools (in addition to the tools already present in the SUSE Base Container Image):
tcpdumptraceroutetelnetnetcat-openbsdping (via iputils)dig (via bind-utils)nslookup (via bind-utils)ifconfig (via net-tools)ethtooliptablesipsetiproute2conntrack-toolssocatfortiogpingfpingdhcp-toolsiftopnftablesnmapopensshrsyncwhoiswireguard-toolswiresharkcurlgrpcurlwgettreevim-smalllessjqyqfilekmodpsmisc (e.g., killall)opensslca-certificatestcpdumpctoptermsharkfiolshwltracestracelibprocps8procpsgitmariadbnginxkubectlcalicoctlThis container is your one-stop shop for debugging and testing in production environments. It eliminates the need to install extra tools during critical times, ensuring you are always prepared.
Happy debugging! 🚀
Credits:
Netshoot: https://github.com/nicolaka/netshoot
Rancher Swiss Army Knife: https://github.com/rancherlabs/swiss-army-knife-v2
Kubectl: https://github.com/Angatar/kubectl
Content type
Image
Digest
sha256:9e1a0acb1…
Size
368.7 MB
Last updated
about 1 year ago
docker pull evantage/nettools