[docker] use `--no-cache-dir` flag to `pip` in dockerfiles to save space 41/116541/1
authorPratik raj <rajpratik71@gmail.com>
Wed, 30 Dec 2020 06:58:02 +0000 (12:28 +0530)
committerPratik raj <rajpratik71@gmail.com>
Wed, 30 Dec 2020 06:58:02 +0000 (12:28 +0530)
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

Issue-ID: SDC-3427
Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
Change-Id: Ib72e4f0e0e4f777102e42f9c129405374adbfd9c

base_sdc-cqlsh/Dockerfile
base_sdc-python/Dockerfile

index a16552a..f49986e 100644 (file)
@@ -8,12 +8,12 @@ RUN mkdir ~/.cassandra/ && \
 USER root
 
 RUN apk add --no-cache py-pip && \
-    pip install cqlsh==5.0.4 && \
+    pip install --no-cache-dir cqlsh==5.0.4 && \
     mkdir ~/.cassandra/ && \
     echo  '[cql]' > ~/.cassandra/cqlshrc  && \
     echo  'version=3.4.4' >> ~/.cassandra/cqlshrc  && \
     set -ex && \
-    pip install cqlsh && \
+    pip install --no-cache-dir cqlsh && \
     apk add --no-cache \
     bash \
     build-base \
index 57daaa9..53b92db 100644 (file)
@@ -21,7 +21,7 @@ RUN apk update && \
         build-base \
         curl-dev && \
     # needed libcurl to install correctly
-    pip install 'pycurl==7.43.0.1' &&  \
+    pip install --no-cache-dir 'pycurl==7.43.0.1' &&  \
         set -ex && \
     gem install \
         chef:13.8.5 \