Skip to content

Instantly share code, notes, and snippets.

@nijave
Last active July 5, 2019 13:15
Show Gist options
  • Save nijave/cb8f7a6ab752da99c2fdc0f829a1ea22 to your computer and use it in GitHub Desktop.
Save nijave/cb8f7a6ab752da99c2fdc0f829a1ea22 to your computer and use it in GitHub Desktop.
Deletes out long running containers (over 4 hours)
# Containers
docker inspect $(docker ps -a --format "{{.ID}}") | python -c '
from __future__ import print_function
import sys
import json
from datetime import datetime as dt
EXPIRATION_HOURS = 4
containers = json.loads(sys.stdin.read())
for c in containers:
d = dt.strptime(c["State"]["StartedAt"].split(".")[0], "%Y-%m-%dT%H:%M:%S")
if (dt.now() - d).seconds/3600 >= EXPIRATION_HOURS:
print(c["Id"])
' | xargs docker rm -f
# Images (very similar)
docker inspect $(docker images --format "{{.ID}}") | python -c '
from __future__ import print_function
import sys
import json
from datetime import datetime as dt
EXPIRATION_HOURS = 4
containers = json.loads(sys.stdin.read())
for c in containers:
d = dt.strptime(c["Created"].split(".")[0], "%Y-%m-%dT%H:%M:%S")
if (dt.now() - d).seconds/3600 >= EXPIRATION_HOURS:
print(" ".join(c["RepoTags"]))
' | xargs -n 25 docker image rm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment