2024-11-02 13:52:41 +03:00

45 lines
908 B
Bash
Executable File

#!/bin/sh
if [ "$1" = "docker-cli-plugin-metadata" ]; then
cat << HERE
{
"SchemaVersion": "0.1.0",
"Vendor": "Thek4n",
"Version": "0.1.0",
"ShortDescription": "Show containers ip addresses"
}
HERE
exit
fi
usage() {
cat <<EOF
Usage: docker ips
Show containers ip addresses
EOF
}
shift
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
usage
exit 0
fi
set -e
(
printf "CONTAINER NAME;IMAGE;IP\n"
for container in $(docker ps -q | tr '\n' ' ')
do
ip="$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$container" 2>/dev/null)"
container_name="$(docker inspect --format='{{.Name}}' "$container" 2>/dev/null)"
image_name="$(docker inspect --format='{{.Config.Image}}' "$container" 2>/dev/null)"
printf "%s;%s;%s\n" "${container_name#/}" "${image_name}" "${ip}"
done
) | column -t -s ";"
exit 0