35 lines
1.3 KiB
Bash
Executable File
35 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# From: https://gist.github.com/ipedrazas/2c93f6e74737d1f8a791?permalink_comment_id=3704504#gistcomment-3704504
|
|
|
|
function dip() {
|
|
local cols='%-13s %-48s %-40s %-80s'
|
|
_print_container_info() {
|
|
local container_id
|
|
local container_ports
|
|
local container_ip
|
|
local container_name
|
|
container_id="${1}"
|
|
|
|
container_ports=( $(docker port "$container_id" | grep -o "0.0.0.0:.*" | cut -f2 -d:) )
|
|
container_name="$(docker inspect --format "{{ .Name }}" "$container_id" | sed 's/\///')"
|
|
container_ip="$(docker inspect --format "{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}" "$container_id" )"
|
|
printf "$cols\n" "$container_id" "$container_name" "$container_ip" "${container_ports[*]}"
|
|
}
|
|
|
|
local container_id
|
|
container_id="$1"
|
|
printf "$cols\n" 'Container Id' 'Container Name' 'Container IP' 'Container Ports'
|
|
if [ -z "$container_id" ]; then
|
|
local container_id
|
|
docker ps -a --format "{{.ID}}" | while read -r container_id ; do
|
|
_print_container_info "$container_id"
|
|
done
|
|
else
|
|
_print_container_info "$container_id"
|
|
fi
|
|
}
|
|
|
|
|
|
dip
|