From: Pratik Raj Date: Sat, 6 Jun 2020 16:19:55 +0000 (+0530) Subject: optimize size and time using "--no-cache-dir" X-Git-Tag: 5.1.0~33 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=clamp.git;a=commitdiff_plain;h=e46ace7013f61a5cd0265b813d4f596e5140b666 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 Issue-ID: CLAMP-861 Signed-off-by: Pratik Raj Change-Id: I7e7a7799ae48901c289d07bc07e7c96f24f5d078 --- diff --git a/README.md b/README.md index abf41d58..031c0e8e 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ In that case, the credentials should be specified in `src/main/resources/clds/cl Passwords should be hashed using Bcrypt : ``` -# pip3 install bcrypt # if you don't have the bcrypt python lib installed, should be done once. +# pip3 install --no-cache-dir bcrypt # if you don't have the bcrypt python lib installed, should be done once. # python3 -c 'import bcrypt; print(bcrypt.hashpw("password".encode(), bcrypt.gensalt(rounds=10, prefix=b"2a")))' ``` diff --git a/extra/docker/clamp/docker-compose.yml b/extra/docker/clamp/docker-compose.yml index 8d57be03..81cac25c 100644 --- a/extra/docker/clamp/docker-compose.yml +++ b/extra/docker/clamp/docker-compose.yml @@ -35,4 +35,4 @@ services: - "../../../src/test/resources/http-cache/:/script/:ro" ports: - "8085:8085" - command: /bin/sh -c "pip install requests && pip install simplejson && python -u /script/third_party_proxy.py -v true --port 8085 --root /thirdparty --proxyaddress third-party-proxy:8085" + command: /bin/sh -c "pip install --no-cache-dir requests && pip install --no-cache-dir simplejson && python -u /script/third_party_proxy.py -v true --port 8085 --root /thirdparty --proxyaddress third-party-proxy:8085" diff --git a/src/test/resources/http-cache/start_http_cache.sh b/src/test/resources/http-cache/start_http_cache.sh index 178ac80a..1f84b56f 100755 --- a/src/test/resources/http-cache/start_http_cache.sh +++ b/src/test/resources/http-cache/start_http_cache.sh @@ -47,6 +47,6 @@ esac done echo 'Installing requests packages for Python' -pip install requests +pip install --no-cache-dir requests echo 'Executing the Http proxy in Cache mode only' python -u third_party_proxy.py --port 8080 --root /usr/src/http-cache-app/data-cache $python_proxyaddress