FROM python:3.6-alpine # Django code will be in /usr/src/app/ # During development you should mount the git code there, # During production you should copy the code in the image. WORKDIR /usr/src/app # Set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Install dependencies via pipenv ADD Pipfile* ./ RUN apk update && apk add gcc musl-dev postgresql-dev RUN pip install --upgrade pip==18.0 RUN pip install pipenv==2018.7.1 RUN pipenv install --deploy --system --dev # Pass only port 8080 EXPOSE 8080 # Set entrypoint : make migrations and collect statics COPY entrypoint.sh ./ ENTRYPOINT [ "./entrypoint.sh" ] # Start Django app CMD ["python", "manage.py", "runserver", "0.0.0.0:8080"]