rally/Dockerfile
Boris Pavlovic 7dd9105fcd Simplify & Improve Dockerfile
- Remove usage of install_rally
- Remove installation of not used packages
- Remove installation of python-pip from sources
- Put DB and Config on volume in /home/rally/.rally/

Change-Id: Ib48dda24056e2930c22dda75762a8f7c4ede29c0
2017-09-14 21:18:51 +00:00

39 lines
2.1 KiB
Docker

FROM ubuntu:16.04
RUN apt-get update && apt-get install --yes sudo python python-pip vim git-core && \
pip install --upgrade pip && \
useradd -u 65500 -m rally && \
usermod -aG sudo rally && \
echo "rally ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/00-rally-user
COPY . /home/rally/source
WORKDIR /home/rally/source
RUN pip install .
RUN echo '[ ! -z "$TERM" -a -r /etc/motd ] && cat /etc/motd' \
>> /etc/bash.bashrc; echo '\
╔═════════════════════════════════════════════════════════════════════════════╗\n\
║ Welcome to Rally Docker container! ║\n\
║ Rally certification tasks, samples and docs are located at ~/source/ ║\n\
║ Rally configuration and DB are in ~/.rally/ ║\n\
║ Rally at readthedocs - http://rally.readthedocs.org ║\n\
║ How to contribute - http://rally.readthedocs.org/en/latest/contribute.html ║\n\
║ If you have any questions, you can reach the Rally team by: ║\n\
║ * e-mail - openstack-dev@lists.openstack.org with tag [Rally] in subject ║\n\
║ * irc - "#openstack-rally" channel at freenode.net ║\n\
╚═════════════════════════════════════════════════════════════════════════════╝\n' > /etc/motd
USER rally
ENV HOME /home/rally
WORKDIR /home/rally
RUN mkdir .rally && \
cp ./source/etc/rally/rally.conf.sample .rally/rally.conf && \
sed -i "s|#connection *=.*|connection = \"sqlite:////home/rally/.rally/rally.db\"|" .rally/rally.conf && \
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"]
ENTRYPOINT ["rally"]