docker-tidy/README.rst

103 lines
1.9 KiB
ReStructuredText
Raw Normal View History

2015-06-30 22:32:54 +00:00
Docker Custodian
================
2015-07-14 20:11:43 +00:00
.. image:: https://travis-ci.org/Yelp/docker-custodian.svg
:target: https://travis-ci.org/Yelp/docker-custodian
2015-07-10 19:52:21 +00:00
Keep docker hosts tidy.
2015-06-30 22:32:54 +00:00
2015-08-08 20:26:36 +00:00
.. contents::
:backlinks: none
Install
-------
There are three installation options
Container
~~~~~~~~~
.. code::
docker pull yelp/docker-custodian
docker run -ti \
-v /var/run/docker.sock:/var/run/docker.sock \
yelp/docker-custodian dcgc --help
Debian/Ubuntu package
~~~~~~~~~~~~~~~~~~~~~
First build the package (requires `dh-virtualenv`)
.. code:: sh
dpkg-buildpackage -us -uc
Then install it
.. code:: sh
dpkg -i ../docker-custodian_*.deb
Source
~~~~~~
.. code:: sh
pip install git+https://github.com/Yelp/docker-custodian.git
2015-08-08 20:26:36 +00:00
2015-06-30 22:32:54 +00:00
dcgc
----
Remove old docker containers and docker images.
``dcgc`` will remove stopped containers and unused images that are older than
"max age". Running containers, and images which are used by a container are
never removed.
Maximum age can be specificied with any format supported by
`pytimeparse <https://github.com/wroberts/pytimeparse>`_.
Example:
2015-08-08 20:26:36 +00:00
.. code:: sh
2015-06-30 22:32:54 +00:00
dcgc --max-container-age 3days --max-image-age 30days
Prevent images from being removed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``dcgc`` supports an image exclude list. If you have images that you'd like
to keep around forever you can use the exclude list to prevent them from
being removed.
2015-08-08 20:26:36 +00:00
::
--exclude-image
Never remove images with this tag. May be specified more than once.
--exclude-image-file
Path to a file which contains a list of images to exclude, one
image tag per line.
2015-06-30 22:32:54 +00:00
dcstop
------
Stop containers that have been running for too long.
``dcstop`` will ``docker stop`` containers where the container name starts
with `--prefix` and it has been running for longer than `--max-run-time`.
Example:
2015-08-08 20:26:36 +00:00
.. code:: sh
2015-06-30 22:32:54 +00:00
dcstop --max-run-time 2days --prefix "projectprefix_"