From e2917305c959106ab01018b4c768505fb2f655ac Mon Sep 17 00:00:00 2001 From: Anton Bobov Date: Tue, 5 Mar 2024 22:18:49 +0500 Subject: Updates --- docker-netshoot | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 docker-netshoot (limited to 'docker-netshoot') diff --git a/docker-netshoot b/docker-netshoot new file mode 100755 index 0000000..8b77e7f --- /dev/null +++ b/docker-netshoot @@ -0,0 +1,52 @@ +#!/bin/bash + +set -euo pipefail + +NETSHOOT_IMAGE="nicolaka/netshoot" + +usage() { + echo "Run netshoot container with docker network." + echo "Options:" + printf "\t%s\t\t%s\n" "-h" "print this help" + printf "\t%s\t%s\n" "-n NETWORK" "user provided network" + printf "\t%s\t\t%s\n" "-N" "user default network" +} + +select_network() { + docker network ls | fzf \ + --header-lines=1 \ + --select-1 --exit-0 \ + --preview-label="Containers" \ + --preview-window=down,10 \ + --preview "docker network inspect {1} | jq -r '.[].Containers | .[].Name'" | awk '{print $1}' +} + +main() { + local network= + while getopts "hNn:" opt; do + case "${opt}" in + h) + usage + exit + ;; + N) + network="default" + ;; + n) + network="$OPTARG" + ;; + *) + usage + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + + if [ -z "$network" ]; then + network=$(select_network) + fi + docker run --interactive --tty --rm --network "$network" "$NETSHOOT_IMAGE" +} + +main "$@" -- cgit v1.2.3