This project is a garbage collector for docker images and containers. It was created to alleviate the problem of old and unused containers laying around on Docker utilizing storage resources.
./bin/gcd
docker run --name gcd -v /var/run/docker.sock:/var/run/docker.sock guiferpa/gcd
gcd can be parametrized via command-line arguments and, if you're using the Docker image, by environment variables.
- -docker-host: set docker host target (default:
/var/run/docker.sock
). - -sweep-interval: set interval in seconds between sweeps (default:
60
). - -remove-images: remove images that aren't container dependencies (default:
true
). - -remove-healthy-containers-exited: remove containers exited with code 0 (default:
true
).
- GCD_DOCKER_HOST: set docker host target (default:
/var/run/docker.sock
). - GCD_SWEEP_INTERVAL: set interval in seconds between sweeps (default:
60
). - GCD_REMOVE_IMAGES: remove images that aren't container dependencies (default:
true
). - GCD_REMOVE_HEALTHY_CONTAINERS_EXITED: remove containers exited with code 0 (default:
true
).
git clone https://github.com/stone-payments/gcd.git
make build
⚠️ This project uses multi-stage build to build the docker image with the included Dockerfile. Docker >=17.05 is required.
make build-image
This code is licensed under the MIT license.