Files
rally/Dockerfile
Pratik Raj e4dd6597c4 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

Change-Id: If206e41f3bac6e0b73b57e85c80fa2530ee9d4cf
Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
2020-10-12 09:51:04 +00:00

34 lines
1.2 KiB
Docker

FROM ubuntu:18.04
RUN sed -i s/^deb-src.*// /etc/apt/sources.list
RUN apt-get update && apt-get install --yes sudo python3-dev python3-pip vim git-core && \
apt clean && \
pip3 --no-cache-dir install --upgrade pip setuptools && \
useradd -u 65500 -m rally && \
usermod -aG sudo rally && \
echo "rally ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/00-rally-user && \
mkdir /rally && chown -R rally:rally /rally
COPY ./ /rally/source
WORKDIR /rally/source
RUN pip3 install . --constraint upper-constraints.txt --no-cache-dir && \
pip3 install pymysql psycopg2-binary --no-cache-dir && \
mkdir -p /etc/rally && \
echo "[database]" > /etc/rally/rally.conf && \
echo "connection=sqlite:////home/rally/.rally/rally.db" >> /etc/rally/rally.conf
COPY ./etc/motd_for_docker /etc/motd
RUN echo '[ ! -z "$TERM" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc
USER rally
ENV HOME /home/rally
RUN mkdir -p /home/rally/.rally && rally db recreate
# Docker volumes have specific behavior that allows this construction to work.
# Data generated during the image creation is copied to volume only when it's
# attached for the first time (volume initialization)
VOLUME ["/home/rally/.rally"]
ENTRYPOINT ["rally"]