45 lines
908 B
Bash
Executable File
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 |