2d7f51d2d7
Change-Id: I0f9bf2a8d459bab22c3ebb926e1b9787b54c2eeb
32 lines
1.2 KiB
Docker
32 lines
1.2 KiB
Docker
FROM python:3.11-slim
|
|
|
|
RUN apt-get update && apt-get install --yes sudo vim git-core build-essential && \
|
|
apt clean && \
|
|
python3 -m pip --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 python3 -m pip install . --constraint upper-constraints.txt --no-cache-dir && \
|
|
python3 -m pip 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"]
|