rtsp / docker-rtsp

My personal swiss army knives which composed of rtsp/net-tools, rtsp/mongosh, rtsp/aws-cli and several useful tools bundled in one image.

Home Page:https://hub.docker.com/r/rtsp/rtsp/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RTSP Tools

Debian with personalized tools for various purpose.

Usage

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

Pull Image

docker pull rtsp/rtsp

Interactive Mode

docker run --rm -it rtsp/rtsp bash

Run a Specific Command

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

Run as Daemon

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

docker exec -it rtsp bash

Run as Kubernetes Pod

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

kubectl exec -it rtsp -- 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: rtsp
spec:
  selector:
    matchLabels:
      name: rtsp
  template:
    metadata:
      labels:
        name: rtsp
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: NoSchedule
      containers:
        - name: rtsp
          image: rtsp/rtsp:latest
          imagePullPolicy: IfNotPresent
      terminationGracePeriodSeconds: 30

Retrieve Pods Name

kubectl get pods -l name=rtsp -o wide

Output (Trimmed)

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

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

kubectl exec rtsp-q48n6 -- ping -c 3 10.233.64.11

or just run it interactively

kubectl exec -it rtsp-q48n6 -- bash

or if you don't mind which Pod to use

kubectl exec -it daemonset/rtsp -- bash

Run as Kubernetes StatefulSet

This manifests will deploy a Pod with a 4 GiB persistent storage mounted on /data.

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rtsp
spec:
  serviceName: rtsp
  replicas: 1
  selector:
    matchLabels:
      name: rtsp
  template:
    metadata:
      labels:
        name: rtsp
    spec:
      containers:
        - name: rtsp
          image: rtsp/rtsp:latest
          imagePullPolicy: Always
          resources:
            requests:
              memory: 8Mi
              cpu: 10m
            limits:
              memory: 1024Mi
              cpu: 2000m
          volumeMounts:
            - name: rtsp-data
              mountPath: /data
  volumeClaimTemplates:
  - metadata:
      name: rtsp-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 4Gi

Links

Packages

Source Code

About

My personal swiss army knives which composed of rtsp/net-tools, rtsp/mongosh, rtsp/aws-cli and several useful tools bundled in one image.

https://hub.docker.com/r/rtsp/rtsp/

License:Apache License 2.0


Languages

Language:Shell 73.3%Language:Dockerfile 26.7%