Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Generate dockerfiles from pip requirements.txt

Project Description

About

Render a dockerfile from a template and pip requirements.txt. Docker caches each dockerfile command in it’s own layer. By breaking out requirements.txt, each pip requirement goes into its own layer and build time improves.

Handles all the syntax allowed by pip in requirements.txt

Things like comments, whitespace, line continuations etc. that might choke a simpler solution. Uses the actual parser from pip so guaranteed* compatibility

* or your money back

Usage

Start with a copy your regular Dockerfile called Dockerfile.tmpl

Replace the pip install command that looks something like this:

RUN pip install -r requirements.txt

with some standard django template tags like this:

{% for req in pip_requirements %}
RUN pip install --upgrade {{ req }}{% endfor%}

djtempl will pass in a tuple called pip_requirements into the template context.

python djtempl.py -t ./Dockerfile.tmpl -p ./requirements.txt -d ./Dockerfile.out -q

Installation

pip install djtempl

djtempl.py is pure python and only requires django>=1.8.0

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Release History

Release History

This version
History Node

1.0.1

History Node

1.0.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
djtempl-1.0.1-py2-none-any.whl (5.8 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Oct 4, 2015
djtempl-1.0.1.tar.gz (4.5 kB) Copy SHA256 Checksum SHA256 Source Oct 4, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting