Mercurial > dive4elements > river
diff docker/Dockerfile.mapserv @ 9734:95496d21b4da 3.2.x
Add MapServer to Docker setup
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 22 Jul 2022 17:56:11 +0200 |
parents | |
children | 68c6fe74a276 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docker/Dockerfile.mapserv Fri Jul 22 17:56:11 2022 +0200 @@ -0,0 +1,52 @@ +# Docker file for D4E River MapServer +# with support for PostgreSQL and Oracle databases + +FROM centos:7 +MAINTAINER tom@intevation.de + +# Necessary to run further yum-installs inside Docker container, +# if not already part of the base image: +RUN yum -q -y install yum-plugin-ovl && rpm --rebuilddb + +# Install prerequisites +RUN yum -q -y install curl ca-certificates epel-release \ + gnu-free-sans-fonts httpd +RUN yum -q -y install gcc-c++ postgresql-devel gd-devel giflib-devel proj-devel \ + proj-epsg prelink make + +# Install Oracle client +RUN curl -s https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ + -o /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle +ADD ol7-temp.repo /etc/yum.repos.d/ +RUN yum -q -y install oraclelinux-release-el7 +RUN mv /etc/yum.repos.d/ol7-temp.repo /etc/yum.repos.d/ol7-temp.repo.disabled +RUN yum -q -y install oracle-release-el7 +RUN yum -q -y install oracle-instantclient19.9-basic \ + oracle-instantclient19.9-devel +RUN yum-config-manager --disable oracle*,ol7* + +# Install MapServer +WORKDIR /opt/mapserver +RUN curl -s https://download.osgeo.org/mapserver/mapserver-6.0.6.tar.gz | tar xz +WORKDIR mapserver-6.0.6 +RUN sed -i "s@oracle/10\*/client@oracle/19.9/client64@g" configure +RUN ./configure -q --with-proj --with-postgis --with-oraclespatial=/usr \ + CFLAGS=-w CXXFLAGS=-w +RUN make -s +WORKDIR /opt/mapserver +RUN ln -s mapserver-6.0.6/mapserv + +# Volume to share mapfiles with artifact server. +# Has to be the same path as in artifact server container because mapfiles +# contain absolute paths. +VOLUME /opt/d4e/bin + +# CGI scripts +ADD river-wms /var/www/cgi-bin/ +ADD user-wms /var/www/cgi-bin/ + +# httpd config +ADD httpd-mapserver.conf /etc/httpd/conf.d/ + +EXPOSE 80 +CMD ["/usr/sbin/httpd", "-DFOREGROUND"]