summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPratik raj <rajpratik71@gmail.com>2020-06-13 07:25:32 +0530
committerPratik raj <rajpratik71@gmail.com>2020-07-25 13:26:52 +0530
commitb9d94183348c6f72f79aa1fa69ce36147eda3660 (patch)
tree65c49cdc08ee2a4e66161535d6e6ecd7b158094e
parent7dd8d87c9626af792efdb5bb9621c7814db887d7 (diff)
optimize size and time using "--no-cache-dir"
Using "--no-cache-dir" flag in pip install ,make sure dowloaded packages by pip don't cached on system . This is a best practise which make sure to fetch ftom repo instead of using local cached one . Further , in case of Docker Containers , by restricing 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
-rw-r--r--benchmarks/workloads/tensorflow/Dockerfile4
-rw-r--r--images/default/Dockerfile2
-rwxr-xr-xtools/vm/ubuntu1604/40_kokoro.sh2
3 files changed, 4 insertions, 4 deletions
diff --git a/benchmarks/workloads/tensorflow/Dockerfile b/benchmarks/workloads/tensorflow/Dockerfile
index b5763e8ae..eefe6b3eb 100644
--- a/benchmarks/workloads/tensorflow/Dockerfile
+++ b/benchmarks/workloads/tensorflow/Dockerfile
@@ -3,8 +3,8 @@ FROM tensorflow/tensorflow:1.13.2
RUN apt-get update \
&& apt-get install -y git
RUN git clone --depth 1 https://github.com/aymericdamien/TensorFlow-Examples.git
-RUN python -m pip install -U pip setuptools
-RUN python -m pip install matplotlib
+RUN python -m pip install --no-cache-dir -U pip setuptools
+RUN python -m pip install --no-cache-dir matplotlib
WORKDIR /TensorFlow-Examples/examples
diff --git a/images/default/Dockerfile b/images/default/Dockerfile
index 2b38e6c58..d058b83cb 100644
--- a/images/default/Dockerfile
+++ b/images/default/Dockerfile
@@ -2,7 +2,7 @@ FROM fedora:31
# Install bazel.
RUN dnf install -y dnf-plugins-core && dnf copr enable -y vbatts/bazel
RUN dnf install -y git gcc make golang gcc-c++ glibc-devel python3 which python3-pip python3-devel libffi-devel openssl-devel pkg-config glibc-static libstdc++-static patch diffutils
-RUN pip install pycparser
+RUN pip install --no-cache-dir pycparser
RUN dnf install -y bazel3
# Install gcloud.
RUN curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-289.0.0-linux-x86_64.tar.gz | \
diff --git a/tools/vm/ubuntu1604/40_kokoro.sh b/tools/vm/ubuntu1604/40_kokoro.sh
index 2974f156c..d3b96c9ad 100755
--- a/tools/vm/ubuntu1604/40_kokoro.sh
+++ b/tools/vm/ubuntu1604/40_kokoro.sh
@@ -41,7 +41,7 @@ while true; do
done
# junitparser is used to merge junit xml files.
-pip install junitparser
+pip install --no-cache-dir junitparser
# We need a kbuilder user, which may already exist.
useradd -c "kbuilder user" -m -s /bin/bash kbuilder || true