2014-08-31 12:53:59 +02:00
|
|
|
FROM debian:wheezy
|
2015-02-23 12:01:37 +01:00
|
|
|
|
2015-02-25 14:52:55 +01:00
|
|
|
RUN set -ex; \
|
|
|
|
apt-get update -qq; \
|
|
|
|
apt-get install -y \
|
2015-08-25 00:54:59 +02:00
|
|
|
locales \
|
2015-06-01 15:01:30 +02:00
|
|
|
gcc \
|
|
|
|
make \
|
|
|
|
zlib1g \
|
|
|
|
zlib1g-dev \
|
|
|
|
libssl-dev \
|
2015-02-25 14:52:55 +01:00
|
|
|
git \
|
|
|
|
ca-certificates \
|
|
|
|
curl \
|
2015-08-24 21:15:08 +02:00
|
|
|
libsqlite3-dev \
|
2017-01-31 00:16:09 +01:00
|
|
|
libbz2-dev \
|
2015-02-25 14:52:55 +01:00
|
|
|
; \
|
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2015-11-04 21:33:37 +01:00
|
|
|
RUN curl https://get.docker.com/builds/Linux/x86_64/docker-1.8.3 \
|
2015-09-16 22:45:26 +02:00
|
|
|
-o /usr/local/bin/docker && \
|
2017-05-30 23:54:01 +02:00
|
|
|
SHA256=f024bc65c45a3778cf07213d26016075e8172de8f6e4b5702bedde06c241650f; \
|
|
|
|
echo "${SHA256} /usr/local/bin/docker" | sha256sum -c - && \
|
2015-09-16 22:45:26 +02:00
|
|
|
chmod +x /usr/local/bin/docker
|
|
|
|
|
2017-01-31 00:16:09 +01:00
|
|
|
# Build Python 2.7.13 from source
|
2015-06-01 15:01:30 +02:00
|
|
|
RUN set -ex; \
|
2017-05-30 23:54:01 +02:00
|
|
|
curl -LO https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz && \
|
|
|
|
SHA256=a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1; \
|
|
|
|
echo "${SHA256} Python-2.7.13.tgz" | sha256sum -c - && \
|
|
|
|
tar -xzf Python-2.7.13.tgz; \
|
2017-01-31 00:16:09 +01:00
|
|
|
cd Python-2.7.13; \
|
2015-06-01 15:01:30 +02:00
|
|
|
./configure --enable-shared; \
|
|
|
|
make; \
|
|
|
|
make install; \
|
|
|
|
cd ..; \
|
2017-05-30 23:54:01 +02:00
|
|
|
rm -rf /Python-2.7.13; \
|
|
|
|
rm Python-2.7.13.tgz
|
2015-06-01 15:01:30 +02:00
|
|
|
|
2015-07-03 04:35:20 +02:00
|
|
|
# Build python 3.4 from source
|
|
|
|
RUN set -ex; \
|
2017-05-30 23:54:01 +02:00
|
|
|
curl -LO https://www.python.org/ftp/python/3.4.6/Python-3.4.6.tgz && \
|
|
|
|
SHA256=fe59daced99549d1d452727c050ae486169e9716a890cffb0d468b376d916b48; \
|
|
|
|
echo "${SHA256} Python-3.4.6.tgz" | sha256sum -c - && \
|
|
|
|
tar -xzf Python-3.4.6.tgz; \
|
2017-01-31 00:16:09 +01:00
|
|
|
cd Python-3.4.6; \
|
2015-07-03 04:35:20 +02:00
|
|
|
./configure --enable-shared; \
|
|
|
|
make; \
|
|
|
|
make install; \
|
|
|
|
cd ..; \
|
2017-05-30 23:54:01 +02:00
|
|
|
rm -rf /Python-3.4.6; \
|
|
|
|
rm Python-3.4.6.tgz
|
2015-07-03 04:35:20 +02:00
|
|
|
|
2015-06-01 15:01:30 +02:00
|
|
|
# Make libpython findable
|
|
|
|
ENV LD_LIBRARY_PATH /usr/local/lib
|
|
|
|
|
|
|
|
# Install pip
|
|
|
|
RUN set -ex; \
|
2017-05-30 23:54:01 +02:00
|
|
|
curl -LO https://bootstrap.pypa.io/get-pip.py && \
|
|
|
|
SHA256=19dae841a150c86e2a09d475b5eb0602861f2a5b7761ec268049a662dbd2bd0c; \
|
|
|
|
echo "${SHA256} get-pip.py" | sha256sum -c - && \
|
|
|
|
python get-pip.py
|
2015-06-01 15:01:30 +02:00
|
|
|
|
2015-08-25 00:54:59 +02:00
|
|
|
# Python3 requires a valid locale
|
|
|
|
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
|
|
|
|
ENV LANG en_US.UTF-8
|
|
|
|
|
2014-09-30 20:54:13 +02:00
|
|
|
RUN useradd -d /home/user -m -s /bin/bash user
|
2014-01-16 18:28:47 +01:00
|
|
|
WORKDIR /code/
|
2014-07-30 22:11:11 +02:00
|
|
|
|
2015-09-16 22:45:26 +02:00
|
|
|
RUN pip install tox==2.1.1
|
2015-07-03 04:35:20 +02:00
|
|
|
|
2014-07-30 22:11:11 +02:00
|
|
|
ADD requirements.txt /code/
|
2015-03-26 23:28:02 +01:00
|
|
|
ADD requirements-dev.txt /code/
|
2015-09-16 22:45:26 +02:00
|
|
|
ADD .pre-commit-config.yaml /code/
|
|
|
|
ADD setup.py /code/
|
|
|
|
ADD tox.ini /code/
|
|
|
|
ADD compose /code/compose/
|
|
|
|
RUN tox --notest
|
2015-08-24 21:15:08 +02:00
|
|
|
|
2014-01-16 18:28:47 +01:00
|
|
|
ADD . /code/
|
2014-09-30 20:54:13 +02:00
|
|
|
RUN chown -R user /code/
|
2014-11-20 18:23:43 +01:00
|
|
|
|
2015-09-16 22:45:26 +02:00
|
|
|
ENTRYPOINT ["/code/.tox/py27/bin/docker-compose"]
|