Files
httpbin/Dockerfile
T
Brett Randall be1413fb02 Changed Dockerfile to resolve deps using pipenv/Pipefile(.lock) before pip3->setup.py for httpbin.
Also added Pipfile(.lock) prior to the remaining source, improving Docker image cacheability.

Git is also required to fetch pyyaml.

This results in more deterministic and reproducible image builds, since httpbin dependencies
are installed using locked versions from Pipfile.lock before httpbin is itself installed.

Fixed #493.
2018-10-26 08:40:54 +11:00

23 lines
537 B
Docker

FROM ubuntu:18.04
LABEL name="httpbin"
LABEL version="0.9.2"
LABEL description="A simple HTTP service."
LABEL org.kennethreitz.vendor="Kenneth Reitz"
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
RUN apt update -y && apt install python3-pip git -y && pip3 install --no-cache-dir pipenv
ADD Pipfile Pipfile.lock /httpbin/
WORKDIR /httpbin
RUN /bin/bash -c "pip3 install --no-cache-dir -r <(pipenv lock -r)"
ADD . /httpbin
RUN pip3 install --no-cache-dir /httpbin
EXPOSE 80
CMD ["gunicorn", "-b", "0.0.0.0:80", "httpbin:app", "-k", "gevent"]