Better "docker ps" for small monitors
Max
Posted on December 4, 2022
The output of "docker ps" often becomes really confusing on small screens (1080p or smaller).
So i created a wrapper python script that solves that problem.
Before
After
Script
/root/bin/docker-ps
:
#!/usr/bin/python3
import os
import subprocess
import json
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKDARKGRAY = '\033[90m'
OKCYAN = '\033[96m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
command = "docker ps --format '{\"ID\":\"{{ .ID }}\", \"Image\": \"{{ .Image }}\", \"Names\":\"{{ .Names }}\", \"Status\":\"{{ .Status }}\", \"CreatedAt\":\"{{ .CreatedAt }}\", \"Ports\":\"{{ .Ports }}\"}'"
output = subprocess.check_output(command, shell=True).splitlines()
print("")
for entry in output:
entry_json = entry.decode("utf-8")
entry_json_object = json.loads(entry_json)
id = entry_json_object["ID"]
names = entry_json_object["Names"]
status = entry_json_object["Status"]
created = entry_json_object["CreatedAt"]
image = entry_json_object["Image"]
ports = entry_json_object["Ports"]
print(f"{id}\t{bcolors.WARNING}{names}{bcolors.ENDC}\t ({bcolors.OKDARKGRAY}Status: {status}, Created At: {created}{bcolors.ENDC})")
print(f" {bcolors.BOLD}Image:{bcolors.ENDC} {image}")
print(f" {bcolors.BOLD}Ports:{bcolors.ENDC} {ports}")
print("")
The Script is also available as a GitHub Gist.
In .bashrc
i override the "docker ps" command with the script:
function docker() {
case $* in
ps ) shift 1; command /root/bin/docker-ps ;;
* ) command docker "$@" ;;
esac
}
Alternative Idea
Just display the columns that are important to you:
e.g.:
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}} "
💖 💪 🙅 🚩
Max
Posted on December 4, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
githubcopilot AI Innovations at Microsoft Ignite 2024 What You Need to Know (Part 2)
November 29, 2024