rally/Dockerfile
Chris St. Pierre b27166b27c Update Dockerfile to use new install_rally.sh
This delegates more of the magic to the install script, and also has
some improvements to the Dockerfile and the related documentation.

Closes-Bug: #1461894
Change-Id: I86c0e439b8d0d8f40197fb4a8e26b2655036949c
2015-08-07 16:25:54 -05:00

51 lines
1.3 KiB
Docker

FROM ubuntu:14.04
MAINTAINER Sergey Skripnick <sskripnick@mirantis.com>
# install prereqs
RUN apt-get update && apt-get install --yes wget python
# ubuntu's pip is too old to work with the version of requests we
# require, so get pip with get-pip.py
RUN wget https://bootstrap.pypa.io/get-pip.py && \
python get-pip.py && \
rm -f get-pip.py
# create rally user
RUN useradd -u 65500 -m rally && \
ln -s /usr/share/doc/rally /home/rally/rally-docs
# install rally. the COPY command below frequently invalidates
# subsequent cache
COPY . /tmp/rally
WORKDIR /tmp/rally
RUN ./install_rally.sh --system --verbose --yes \
--db-name /home/rally/.rally.sqlite && \
pip install -r optional-requirements.txt && \
chmod -R u=rwX,go=rX /etc/rally && \
mv doc /usr/share/doc/rally && \
mv samples ~/ && \
rm -rf /tmp/* && \
apt-get -y remove \
build-essential \
gcc-4.8 \
libffi-dev \
libssl-dev \
libxml2-dev \
libxslt1-dev \
python-dev \
python3 \
&& \
apt-get -y autoremove && \
apt-get clean
VOLUME ["/home/rally"]
WORKDIR /home/rally
USER rally
ENV HOME /home/rally
CMD ["bash", "--login"]
# TODO(stpierre): Find a way to use `rally` as the
# entrypoint. Currently this is complicated by the need to run
# rally-manage to create the database.