Lightweight image for debugging connectivity, DNS and service reachability inside Azure environments
727
A lightweight Docker image for debugging connectivity, DNS, and service reachability inside Azure environments. Drop it into any Azure Container Instance, AKS pod, or App Service sidecar and get a full suite of network and database tooling instantly.
docker run --rm -it tomclement/azure-debug-shell sh
To keep the container running in the background and exec into it:
docker run -d --name debug tomclement/azure-debug-shell
docker exec -it debug sh
| Tool | Purpose |
|---|---|
az | Azure CLI — authenticate, query resources, manage services |
kubectl | Kubernetes CLI for AKS cluster debugging |
| Tool | Purpose |
|---|---|
curl / wget | HTTP/HTTPS request testing |
dig / nslookup / host | DNS resolution (via bind-tools) |
ping / arping | ICMP connectivity checks |
nc (netcat) | Raw TCP/UDP port connectivity testing |
nmap | Port scanning |
traceroute | Hop-by-hop network path tracing |
mtr | Combined traceroute + ping for live path monitoring |
tcpdump | Packet capture |
ss / netstat | Socket and connection inspection |
ip | Interface, route, and address management |
openssl | TLS handshake testing and certificate inspection |
| Tool | Purpose |
|---|---|
psql | Azure Database for PostgreSQL / Flexible Server |
mysql | Azure Database for MySQL / Flexible Server |
Note:
redis-cliis not included — theredispackage is absent from the Azure Linux 3.0 repositories that back this image.
| Tool | Purpose |
|---|---|
jq | JSON parsing — essential for az CLI output |
yq | YAML parsing |
| Tool | Purpose |
|---|---|
python3 | Ad-hoc scripting |
git | Clone scripts or configs on the fly |
vim / nano | Edit files in-container |
htop | Process monitoring |
lsof | Open file and socket inspection |
strace | System call tracing |
bash | Comfortable interactive shell |
zip / unzip | Archive handling |
# DNS resolution
dig mypostgres.postgres.database.azure.com
# TCP port open?
nc -zv mypostgres.postgres.database.azure.com 5432
# Connect
psql "host=mypostgres.postgres.database.azure.com port=5432 dbname=mydb user=adminuser sslmode=require"
openssl s_client -connect myapp.azurewebsites.net:443 -servername myapp.azurewebsites.net </dev/null 2>/dev/null | openssl x509 -noout -dates -subject
dig mynamespace.servicebus.windows.net
# Expect a 10.x.x.x address if Private Link is correctly configured
mtr --report myaccount.blob.core.windows.net
curl -s -H "Metadata: true" \
"http://169.254.169.254/metadata/instance?api-version=2021-02-01" | jq .
az aks get-credentials --resource-group my-rg --name my-cluster
kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>
az container create \
--resource-group my-rg \
--name debug-shell \
--image tomclement/azure-debug-shell \
--os-type Linux \
--vnet my-vnet \
--subnet my-subnet
az container exec --resource-group my-rg --name debug-shell --exec-command sh
kubectl run debug-shell \
--image=tomclement/azure-debug-shell \
--restart=Never \
--rm -it \
-- sh
containers:
- name: debug
image: tomclement/azure-debug-shell
# Remove in production — for temporary troubleshooting only
docker build -t azure-debug-shell .
# Multi-platform
docker buildx build --platform linux/amd64,linux/arm64 -t azure-debug-shell .
Content type
Image
Digest
sha256:0c788a293…
Size
287.5 MB
Last updated
7 months ago
docker pull tomclement/azure-debug-shell