use `--no-cache-dir` flag to `pip` in dockerfiles to save space 63/71763/2
authorPratik raj <rajpratik71@gmail.com>
Wed, 23 Dec 2020 13:52:30 +0000 (19:22 +0530)
committerRihab Banday <rihab.banday@ericsson.com>
Wed, 3 Mar 2021 15:23:40 +0000 (15:23 +0000)
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>
Change-Id: I690a12f6e9cdedb2ced7b2ed1c96fac904bac3a8
Reviewed-on: https://gerrit.opnfv.org/gerrit/c/kuberef/+/71763
Tested-by: jenkins-ci <jenkins-opnfv-ci@opnfv.org>
Reviewed-by: Michael Pedersen <michaelx.pedersen@intel.com>
Reviewed-by: Cedric Ollivier <cedric.ollivier@orange.com>
Reviewed-by: Rihab Banday <rihab.banday@ericsson.com>
sw_config/bmra/Dockerfile

index 7b30ba5..97442d8 100644 (file)
@@ -5,8 +5,8 @@ MAINTAINER "Rihab Banday <rihab.banday@ericsson.com>"
 RUN yum -y update && \
     yum -y install git epel-release python36 python-netaddr && \
     yum -y install python-pip && \
-    pip install pip==9.0.3 && \
-    pip install ansible==2.9.6 jmespath && \
-    pip install jinja2 --upgrade
+    pip install --no-cache-dir pip==9.0.3 && \
+    pip install --no-cache-dir ansible==2.9.6 jmespath && \
+    pip install --no-cache-dir jinja2 --upgrade
 
 CMD ["bash"]