Merge pull request #1641 from bookofportals/docker-best-practices

Change Dockerfile to comply with best practices
This commit is contained in:
Griatch 2018-08-14 17:36:02 +02:00 committed by GitHub
commit 4fe15b0598

View file

@ -21,22 +21,30 @@
#
FROM alpine
MAINTAINER www.evennia.com
LABEL maintainer="www.evennia.com"
# install compilation environment
RUN apk update && apk add python py-pip python-dev py-setuptools gcc \
musl-dev jpeg-dev zlib-dev bash py2-openssl procps
RUN apk update && apk add bash gcc jpeg-dev musl-dev procps py-pip \
py-setuptools py2-openssl python python-dev zlib-dev
# add the project source
ADD . /usr/src/evennia
# add the files required for pip installation
COPY ./setup.py /usr/src/evennia/
COPY ./requirements.txt /usr/src/evennia/
COPY ./evennia/VERSION.txt /usr/src/evennia/evennia/
COPY ./bin /usr/src/evennia/bin/
# install dependencies
RUN pip install -e /usr/src/evennia --trusted-host pypi.python.org
RUN pip install cryptography pyasn1 service_identity
# add the project source; this should always be done after all
# expensive operations have completed to avoid prematurely
# invalidating the build cache.
COPY . /usr/src/evennia
# add the game source when rebuilding a new docker image from inside
# a game dir
ONBUILD ADD . /usr/src/game
ONBUILD COPY . /usr/src/game
# make the game source hierarchy persistent with a named volume.
# mount on-disk game location here when using the container