Sign inSign up

evantage/nettools

By evantage

Updated about 1 year ago

Image
0

5.8K

evantage/nettools repository overview

Evantage Nettools

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


Running

Using Docker

# 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
Using Kubernetes (kubectl)
# 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

Included Tools

The nettools image includes the following tools (in addition to the tools already present in the SUSE Base Container Image):

Networking
  • tcpdump
  • traceroute
  • telnet
  • netcat-openbsd
  • ping (via iputils)
  • dig (via bind-utils)
  • nslookup (via bind-utils)
  • ifconfig (via net-tools)
  • ethtool
  • iptables
  • ipset
  • iproute2
  • conntrack-tools
  • socat
  • fortio
  • gping
  • fping
  • dhcp-tools
  • iftop
  • nftables
  • nmap
  • openssh
  • rsync
  • whois
  • wireguard-tools
  • wireshark
File Management
  • curl
  • grpcurl
  • wget
  • tree
  • vim-small
  • less
  • jq
  • yq
  • file
System Utilities
  • kmod
  • psmisc (e.g., killall)
  • openssl
  • ca-certificates
  • tcpdump
  • ctop
  • termshark
  • fio
  • lshw
  • ltrace
  • strace
  • libprocps8
  • procps
Development
  • git
Databases
  • mariadb
Webservers
  • nginx
Kubernetes Tools
  • kubectl
  • calicoctl

This 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

Tag summary

Content type

Image

Digest

sha256:9e1a0acb1

Size

368.7 MB

Last updated

about 1 year ago

docker pull evantage/nettools