Skip to content

Instantly share code, notes, and snippets.

@MaaxGr
Last active September 24, 2023 16:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MaaxGr/0d6fc6c1fc1b7a345802f9c33b55df27 to your computer and use it in GitHub Desktop.
Save MaaxGr/0d6fc6c1fc1b7a345802f9c33b55df27 to your computer and use it in GitHub Desktop.
Python Wrapper Script for "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()
output.reverse()
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("")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment