mirror of
https://github.com/quay/quay.git
synced 2026-01-27 18:42:52 +03:00
using "--no-cache-dir" flag in pip install ,make sure downloaded packages by pip don't cached on system . This is a best practice which make sure to fetch from repo instead of using local cached one . Further , in case of Docker Containers , by restricting caching , we can reduce image size. In term of stats , it depends upon the number of python packages multiplied by their respective size . e.g for heavy packages with a lot of dependencies it reduce a lot by don't caching pip packages. Further , more detail information can be found at https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6 Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
29 lines
1.1 KiB
Docker
29 lines
1.1 KiB
Docker
# vim:ft=dockerfile
|
|
|
|
FROM phusion/baseimage:0.9.18
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ENV HOME /root
|
|
|
|
# Install the dependencies.
|
|
RUN apt-get update # 24JUN2015
|
|
|
|
# New ubuntu packages should be added as their own apt-get install lines below the existing install commands
|
|
RUN apt-get install -y git python-virtualenv python-dev libjpeg8 libjpeg62 libjpeg62-dev libevent-2.0.5 libevent-dev gdebi-core g++ libmagic1 phantomjs nodejs npm libldap-2.4-2 libldap2-dev libsasl2-modules libsasl2-dev libpq5 libpq-dev libfreetype6-dev libffi-dev libgpgme11 libgpgme11-dev
|
|
|
|
# Build the python dependencies
|
|
ADD requirements.txt requirements.txt
|
|
RUN virtualenv --distribute venv
|
|
RUN venv/bin/pip install --no-cache-dir -r requirements.txt
|
|
|
|
ARG src_subdir
|
|
|
|
RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D \
|
|
&& echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" > /etc/apt/sources.list.d/docker.list \
|
|
&& apt-get update \
|
|
&& apt-get install -y docker-engine
|
|
|
|
ENV PYTHONPATH=/
|
|
ENV PATH=/venv/bin:$PATH
|
|
WORKDIR /src/$src_subdir
|