Create Dockerfile

Includes cusf_predictor_wrapper.
pull/12/head
Steven Honson 2019-10-18 22:49:14 +11:00 zatwierdzone przez GitHub
rodzic a860eaec35
commit b1611ab2cd
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 79 dodań i 0 usunięć

79
Dockerfile 100644
Wyświetl plik

@ -0,0 +1,79 @@
# -------------------
# The build container
# -------------------
FROM debian:buster-slim AS build
# Update system packages and install build dependencies.
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y \
build-essential \
cmake \
libglib2.0-dev \
python \
python-dateutil \
python-fastkml \
python-flask \
python-gdal \
python-numpy \
python-pip \
python-requests \
python-serial \
python-setuptools \
python-shapely \
unzip && \
rm -rf /var/lib/apt/lists/*
# Install additional Python packages that aren't available through apt-get.
RUN pip --no-cache-dir install \
flask-socketio \
pytz
# Download and install cusf_predictor_wrapper, and build predictor binary.
ADD https://github.com/darksidelemm/cusf_predictor_wrapper/archive/master.zip /root/cusf_predictor_wrapper-master.zip
RUN unzip /root/cusf_predictor_wrapper-master.zip -d /root && \
rm /root/cusf_predictor_wrapper-master.zip && \
cd /root/cusf_predictor_wrapper-master && \
python setup.py install && \
cd src && \
mkdir build && \
cd build && \
cmake ../ && \
make
# -------------------------
# The application container
# -------------------------
FROM debian:buster-slim
EXPOSE 5001/tcp
# Update system packages and install build dependencies.
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y \
libglib2.0 \
python \
python-dateutil \
python-fastkml \
python-flask \
python-gdal \
python-numpy \
python-requests \
python-serial \
python-shapely \
unzip && \
rm -rf /var/lib/apt/lists/*
# Copy any additional Python packages from the build container.
COPY --from=build /usr/local/lib/python2.7/dist-packages /usr/local/lib/python2.7/dist-packages
# Copy predictor binary and get_wind_data.py from the build container.
COPY --from=build /root/cusf_predictor_wrapper-master/src/build/pred /opt/chasemapper/
COPY --from=build /root/cusf_predictor_wrapper-master/apps/get_wind_data.py /opt/chasemapper/
# Copy in chasemapper.
COPY . /opt/chasemapper
# Run horusmapper.py.
WORKDIR /opt/chasemapper
CMD ["python", "/opt/chasemapper/horusmapper.py"]