Go to file
2015-09-29 14:30:42 -04:00
debian Add changelog for 0.5.0 release. 2015-07-21 11:15:12 -07:00
docker_custodian Upgrade requirements to fix #17 2015-09-29 14:30:42 -04:00
tests Upgrade requirements to fix #17 2015-09-29 14:30:42 -04:00
.dockerignore Add a container to run docker-custodian and install instructions to the README. 2015-08-08 18:11:22 -04:00
.gitignore Adding project files 2015-07-08 12:33:52 -07:00
.pre-commit-config.yaml Adding project files 2015-07-08 12:33:52 -07:00
.travis.yml Add .travis.yml 2015-07-14 13:28:28 -07:00
Dockerfile Update the readme to reflect that the official docker image. Fixes #16 2015-09-29 10:57:23 -07:00
LICENSE Adding project files 2015-07-08 12:33:52 -07:00
Makefile Add a container to run docker-custodian and install instructions to the README. 2015-08-08 18:11:22 -04:00
README.rst Update the readme to reflect that the official docker image. Fixes #16 2015-09-29 10:57:23 -07:00
requirements.txt Upgrade requirements to fix #17 2015-09-29 14:30:42 -04:00
setup.py Update tagline. 2015-07-10 12:52:21 -07:00
tox.ini Add .travis.yml 2015-07-14 13:28:28 -07:00

Docker Custodian
================

.. image:: https://travis-ci.org/Yelp/docker-custodian.svg
    :target: https://travis-ci.org/Yelp/docker-custodian

Keep docker hosts tidy.


.. 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


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:

.. code:: sh

    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.

::

    --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.



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:

.. code:: sh

    dcstop --max-run-time 2days --prefix "projectprefix_"