View on GitHub

docker-net-tools

Debian Docker image with a lot of network tools preinstalled

RTSP Network Tools Docker Image

Debian with basic network tools included.

Usage

In order to use image from GitHub Container Registry instead of Docker Hub, you can replace rtsp/net-tools with ghcr.io/rtsp/docker-net-tools anywhere in the instruction below.

Pull Image

docker pull rtsp/net-tools

Interactive Mode

docker run --rm -it rtsp/net-tools bash

Run a Specific Command

docker run --rm rtsp/net-tools ping -c 3 172.17.0.1

Run as Daemon

docker run -d --name net-tools rtsp/net-tools
docker exec net-tools ping -c 3 172.17.0.1

docker exec -it net-tools bash

Run as Kubernetes Pod

---
apiVersion: v1
kind: Pod
metadata:
  name: net-tools
spec:
  containers:
  - name: net-tools
    image: rtsp/net-tools:latest
kubectl exec net-tools -- ping -c 3 10.233.0.1

kubectl exec -it net-tools -- bash

Run as Kubernetes DaemonSet

This manifests will deploy Pods in all nodes (including control-plane). Useful for network reachability debugging.

---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: net-tools
spec:
  selector:
    matchLabels:
      name: net-tools
  template:
    metadata:
      labels:
        name: net-tools
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: NoSchedule
      containers:
        - name: net-tools
          image: rtsp/net-tools:latest
          imagePullPolicy: IfNotPresent
      terminationGracePeriodSeconds: 30

Retrieve Pods Name

kubectl get pods -l name=net-tools -o wide

Output (Trimmed)

NAME              READY   STATUS    AGE     IP             NODE
net-tools-j7j97   1/1     Running   4d5h    10.233.69.40   k8s-w3
net-tools-kfx7h   1/1     Running   4d16h   10.233.66.10   k8s-m3
net-tools-krttb   1/1     Running   4d16h   10.233.68.43   k8s-w1
net-tools-l8tjd   1/1     Running   4d16h   10.233.67.36   k8s-w2
net-tools-q48n6   1/1     Running   4d16h   10.233.65.7    k8s-m2
net-tools-vw45v   1/1     Running   4d16h   10.233.64.11   k8s-m1

Example: Check that k8s-m2 node (net-tools-q48n6) able to reach a pod in k8s-m1 node (10.233.64.11).

kubectl exec net-tools-q48n6 -- ping -c 3 10.233.64.11

or just run it interactively

kubectl exec -it net-tools-q48n6 -- bash

Packages

Source Code