2017-02-08 11:39:04 +01:00
|
|
|
FROM armhf/debian:wheezy
|
|
|
|
|
|
|
|
RUN set -ex; \
|
|
|
|
apt-get update -qq; \
|
|
|
|
apt-get install -y \
|
|
|
|
locales \
|
|
|
|
gcc \
|
|
|
|
make \
|
|
|
|
zlib1g \
|
|
|
|
zlib1g-dev \
|
|
|
|
libssl-dev \
|
|
|
|
git \
|
|
|
|
ca-certificates \
|
|
|
|
curl \
|
|
|
|
libsqlite3-dev \
|
|
|
|
libbz2-dev \
|
|
|
|
; \
|
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2018-01-17 20:24:59 +01:00
|
|
|
RUN curl -fsSL -o dockerbins.tgz "https://download.docker.com/linux/static/stable/armhf/docker-17.12.0-ce.tgz" && \
|
|
|
|
tar xvf dockerbins.tgz docker/docker --strip-components 1 && \
|
|
|
|
mv docker /usr/local/bin/docker && \
|
|
|
|
chmod +x /usr/local/bin/docker && \
|
|
|
|
rm dockerbins.tgz
|
2017-02-08 11:39:04 +01:00
|
|
|
|
|
|
|
# Build Python 2.7.13 from source
|
|
|
|
RUN set -ex; \
|
|
|
|
curl -L https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz | tar -xz; \
|
|
|
|
cd Python-2.7.13; \
|
|
|
|
./configure --enable-shared; \
|
|
|
|
make; \
|
|
|
|
make install; \
|
|
|
|
cd ..; \
|
|
|
|
rm -rf /Python-2.7.13
|
|
|
|
|
2018-01-19 02:19:22 +01:00
|
|
|
# Build python 3.6 from source
|
2017-02-08 11:39:04 +01:00
|
|
|
RUN set -ex; \
|
2018-01-19 02:19:22 +01:00
|
|
|
curl -L https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz | tar -xz; \
|
|
|
|
cd Python-3.6.4; \
|
2017-02-08 11:39:04 +01:00
|
|
|
./configure --enable-shared; \
|
|
|
|
make; \
|
|
|
|
make install; \
|
|
|
|
cd ..; \
|
2018-01-19 02:19:22 +01:00
|
|
|
rm -rf /Python-3.6.4
|
2017-02-08 11:39:04 +01:00
|
|
|
|
|
|
|
# Make libpython findable
|
|
|
|
ENV LD_LIBRARY_PATH /usr/local/lib
|
|
|
|
|
|
|
|
# Install pip
|
|
|
|
RUN set -ex; \
|
|
|
|
curl -L https://bootstrap.pypa.io/get-pip.py | python
|
|
|
|
|
|
|
|
# Python3 requires a valid locale
|
|
|
|
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
|
|
|
|
ENV LANG en_US.UTF-8
|
|
|
|
|
|
|
|
RUN useradd -d /home/user -m -s /bin/bash user
|
|
|
|
WORKDIR /code/
|
|
|
|
|
|
|
|
RUN pip install tox==2.1.1
|
|
|
|
|
|
|
|
ADD requirements.txt /code/
|
|
|
|
ADD requirements-dev.txt /code/
|
|
|
|
ADD .pre-commit-config.yaml /code/
|
|
|
|
ADD setup.py /code/
|
|
|
|
ADD tox.ini /code/
|
|
|
|
ADD compose /code/compose/
|
|
|
|
RUN tox --notest
|
|
|
|
|
|
|
|
ADD . /code/
|
|
|
|
RUN chown -R user /code/
|
|
|
|
|
|
|
|
ENTRYPOINT ["/code/.tox/py27/bin/docker-compose"]
|