Skip to content

Instantly share code, notes, and snippets.

@GottZ
Last active September 22, 2020 20:46
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save GottZ/4a6c2af314d73cd8b71d to your computer and use it in GitHub Desktop.
Save GottZ/4a6c2af314d73cd8b71d to your computer and use it in GitHub Desktop.
/etc/profile.d/dps.sh
# Docker PS prettifier
# revision 6
# https://gist.github.com/GottZ/4a6c2af314d73cd8b71d
dps() {
docker ps $@ --format "table{{ .Image }}\\t{{ .Names }}\\t{{ .Status }}\\t{{ .Ports }}" | awk '
NR % 2 == 0 {
printf "\033[0m";
}
NR % 2 == 1 {
printf "\033[1m";
}
NR == 1 {
PORTSPOS = index($0, "PORTS");
PORTS = "PORTS";
PORTSPADDING = "\n";
for(n = 1; n < PORTSPOS; n++)
PORTSPADDING = PORTSPADDING " ";
}
NR > 1 {
PORTS = substr($0, PORTSPOS);
gsub(/, /, PORTSPADDING, PORTS);
}
{
printf "%s%s\n", substr($0, 0, PORTSPOS - 1), PORTS;
}
END {
printf "\033[0m";
}
'
}
dpsa() { dps -a $@; }
@andyheath
Copy link

Following on from @lemonkoala's lead I wrote a small bash script to do the messy stuff. It takes a list of options (e.g. -iIcClmnNprSshL), constructs the go string and invokes the docker ps with it. In case its useful to anyone its here:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment