diff --git a/.travis.yml b/.travis.yml index 96f3b73..7545651 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: bash services: docker env: - - PY_VERSION=3.4 + - PY_VERSION=3.5 - PY_VERSION=2.7 install: diff --git a/2.7/Dockerfile b/2.7/Dockerfile index d1952ed..a0c9f5e 100644 --- a/2.7/Dockerfile +++ b/2.7/Dockerfile @@ -1,13 +1,14 @@ -FROM python:2.7-slim - -RUN apt-get update && apt-get install -y \ - gcc \ - gettext \ - mysql-client libmysqlclient-dev \ - postgresql-client libpq-dev \ - sqlite3 \ - --no-install-recommends && rm -rf /var/lib/apt/lists/* +FROM alpine:3.4 ENV DJANGO_VERSION 1.10.3 -RUN pip install mysqlclient psycopg2 django=="$DJANGO_VERSION" +RUN apk add --update-cache \ + bash py-pip \ + mariadb-libs libpq sqlite && \ + apk add --virtual=build-deps \ + gcc musl-dev python-dev \ + mariadb-dev postgresql-dev && \ + pip install mysqlclient \ + psycopg2 \ + django=="$DJANGO_VERSION" && \ + apk del build-deps && rm -rf /var/cache/apk/* diff --git a/2.7/onbuild/Dockerfile b/2.7/onbuild/Dockerfile index c2cde45..17ba90d 100644 --- a/2.7/onbuild/Dockerfile +++ b/2.7/onbuild/Dockerfile @@ -1,20 +1,20 @@ -FROM python:2.7 +FROM alpine:3.3 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ONBUILD COPY requirements.txt /usr/src/app/ -ONBUILD RUN pip install --no-cache-dir -r requirements.txt +ONBUILD RUN apk add --virtual=build-deps --update-cache \ + gcc musl-dev python-dev \ + mariadb-dev postgresql-dev && \ + pip install --no-cache-dir -r requirements.txt && \ + apk del build-deps && rm -rf /var/cache/apk/* ONBUILD COPY . /usr/src/app -RUN apt-get update && apt-get install -y \ - gcc \ - gettext \ - mysql-client libmysqlclient-dev \ - postgresql-client libpq-dev \ - sqlite3 \ - --no-install-recommends && rm -rf /var/lib/apt/lists/* +RUN apk add --update-cache \ + bash py-pip \ + mariadb-libs libpq sqlite && rm -rf /var/cache/apk/* EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] diff --git a/3.4/Dockerfile b/3.4/Dockerfile deleted file mode 100644 index d52d913..0000000 --- a/3.4/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM python:3.4-slim - -RUN apt-get update && apt-get install -y \ - gcc \ - gettext \ - mysql-client libmysqlclient-dev \ - postgresql-client libpq-dev \ - sqlite3 \ - --no-install-recommends && rm -rf /var/lib/apt/lists/* - -ENV DJANGO_VERSION 1.10.3 - -RUN pip install mysqlclient psycopg2 django=="$DJANGO_VERSION" diff --git a/3.4/onbuild/Dockerfile b/3.4/onbuild/Dockerfile deleted file mode 100644 index a69caad..0000000 --- a/3.4/onbuild/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -FROM python:3.4 - -RUN mkdir -p /usr/src/app -WORKDIR /usr/src/app - -ONBUILD COPY requirements.txt /usr/src/app/ -ONBUILD RUN pip install --no-cache-dir -r requirements.txt - -ONBUILD COPY . /usr/src/app - -RUN apt-get update && apt-get install -y \ - gcc \ - gettext \ - mysql-client libmysqlclient-dev \ - postgresql-client libpq-dev \ - sqlite3 \ - --no-install-recommends && rm -rf /var/lib/apt/lists/* - -EXPOSE 8000 -CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] diff --git a/3.5/Dockerfile b/3.5/Dockerfile new file mode 100644 index 0000000..30fcd10 --- /dev/null +++ b/3.5/Dockerfile @@ -0,0 +1,19 @@ +FROM alpine:3.4 + +ENV DJANGO_VERSION 1.10.3 + +RUN apk add --update-cache \ + bash python3 \ + mariadb-libs libpq sqlite && \ + apk add --virtual=build-deps \ + gcc musl-dev python3-dev \ + wget ca-certificates \ + mariadb-dev postgresql-dev && \ + wget https://bootstrap.pypa.io/get-pip.py --no-verbose --output-document - | \ + python3 && \ + pip install mysqlclient \ + psycopg2 \ + django=="$DJANGO_VERSION" && \ + apk del build-deps && rm -rf /var/cache/apk/* + +RUN cd /usr/bin && ln -sf python3 python diff --git a/3.5/onbuild/Dockerfile b/3.5/onbuild/Dockerfile new file mode 100644 index 0000000..807b6f4 --- /dev/null +++ b/3.5/onbuild/Dockerfile @@ -0,0 +1,28 @@ +FROM alpine:3.3 + +RUN mkdir -p /usr/src/app +WORKDIR /usr/src/app + +ONBUILD COPY requirements.txt /usr/src/app/ +ONBUILD RUN apk add --virtual=build-deps --update-cache \ + gcc musl-dev python3-dev \ + mariadb-dev postgresql-dev && \ + pip install --no-cache-dir -r requirements.txt && \ + apk del build-deps && rm -rf /var/cache/apk/* + +ONBUILD COPY . /usr/src/app + +# A bug in Alpine ca-certificates package requires installing openssl-dev as well +RUN apk add --update-cache \ + bash python3 \ + mariadb-libs libpq sqlite && \ + apk add --virtual=pip-deps \ + wget ca-certificates openssl-dev && \ + wget https://bootstrap.pypa.io/get-pip.py --no-verbose --output-document - | \ + python3 && \ + apk del pip-deps && rm -rf /var/cache/apk/* + +RUN cd /usr/bin && ln -sf python3 python + +EXPOSE 8000 +CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]