Last active
August 7, 2024 07:25
-
-
Save GottZ/4a6c2af314d73cd8b71d to your computer and use it in GitHub Desktop.
/etc/profile.d/dps.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 $@; } |
i wrote this on the fly and didn't think about that. thanks!
adding this to my dotfiles, thanks @GottZ
Just found this. I have something similar where my focus is just to reduce the columns and sort the results by name.
docker ps -a --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}" \
| awk 'NR == 1; NR > 1 { print $0 | "sort" }'
Recently had encountered multiple port bindings for a container so just piped my result to your awk script. Thanks!
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
@GottZ remove
sudo
. You can runsudo usermod -aG docker $your_user
so you don't have to runsudo
with docker