Sunteți pe pagina 1din 3

manual_instalacion_GeoServer_docker

Ciencia de Datos CCA


12 de agosto de 2019

Introducción
Este es el manual el proceso de creación e instalación de GeoServer 2.15.2 en una imagen de Docker 17.
Este proceso se realiza en las máquinas de Desarollo para generar una imagen consiste para la publicación en
Producción.

1. Construcción de Dockerfile para el despliegue de una imagen


de GeoServer 2.15.2.

1.1 Configración entorno

El Dockerfile empieza por la información de creación y mantenimiento sobre una imagen de Debian:
FROM tomcat:8.5
MAINTAINER Data Scientist CCA<yegarcesh@compensar.com>

Se crean variables de entorno para la instalación y se actualiza el sistema.


RUN export DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND noninteractive
RUN dpkg-divert --local --rename --add /sbin/initctl

1.2 Configuración propia de Aplicación:

Configuración de la versión de GeoServer, creación de directorios de aplicaciones y configuración de JAVA


8, se agrega además la ruta de recursos para la instalación de paquetes adicionales.

ENV GS_VERSION 2.15.2


ENV GeoServer_DATA_DIR /opt/GeoServer/data_dir

RUN mkdir -p $GeoServer_DATA_DIR

# Unset Java related ENVs since they may change with Oracle JDK
ENV JAVA_VERSION=
ENV JAVA_DEBIAN_VERSION=

# Set JAVA_HOME to /usr/lib/jvm/default-java and link it to OpenJDK installation


RUN ln -s /usr/lib/jvm/java-8-openjdk-amd64 /usr/lib/jvm/default-java
ENV JAVA_HOME /usr/lib/jvm/default-java

ADD resources /tmp/resources

EL siguiente elemento es la configuración de optimización de imagenes para la generación de Mapas con


mejor desempeño.

1
# Optionally add JAI and ImageIO for improved performance.
WORKDIR /tmp
ARG JAI_IMAGEIO=true
RUN if [ "$JAI_IMAGEIO" = true ]; then \
wget http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-linux-amd64.tar.gz && \
wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-amd64.t
gunzip -c jai-1_1_3-lib-linux-amd64.tar.gz | tar xf - && \
gunzip -c jai_imageio-1_1-lib-linux-amd64.tar.gz | tar xf - && \
mv /tmp/jai-1_1_3/lib/*.jar $JAVA_HOME/jre/lib/ext/ && \
mv /tmp/jai-1_1_3/lib/*.so $JAVA_HOME/jre/lib/amd64/ && \
mv /tmp/jai_imageio-1_1/lib/*.jar $JAVA_HOME/jre/lib/ext/ && \
mv /tmp/jai_imageio-1_1/lib/*.so $JAVA_HOME/jre/lib/amd64/ && \
rm /tmp/jai-1_1_3-lib-linux-amd64.tar.gz && \
rm -r /tmp/jai-1_1_3 && \
rm /tmp/jai_imageio-1_1-lib-linux-amd64.tar.gz && \
rm -r /tmp/jai_imageio-1_1; \
fi

Por último para la configuración se añade el driver para conexión con MSSQL, se eliminan archivos temporales
y se expone por el puerto por defecto de la aplicación:
ADD resources/plugins/sqljdbc41.jar $CATALINA_HOME/webapps/GeoServer/WEB-INF/lib/
# Delete resources after installation
RUN rm -rf /tmp/resources
EXPOSE 8080

2. Construcción de la imagen
A partir del Dockerfile configurado en el punto anterior se construye una imagen totalmente configurada y
autónoma de GeoServer . Los siguientes comandos pueden ser ejecutados directamente en la consola. Sin
embargo, es recomendable generar un archivo buid.sh para automatizar procesos y controlar la versionalidad.
El archivo de construcción empieza por la creación de las carpetas para las descargas de los plugins necesarios
para GeoServer y la creación de la variable de entorno para la version de Geoserver
#!/bin/sh

# Crear capetas para plugins y recursos si no existen en el Host de desarrollo


if [ ! -d ./resources ]
then
mkdir ./resources
fi

if [ ! -d ./resources/plugins ]
then
mkdir ./resources/plugins
fi

GS_VERSION=2.15.2

Se configura los plugins necesarios para la instalación, se puede copiar una nueva entrada para un nuevo
plugin, comentar o borar uno que no se desea.

2
if [ ! -f resources/plugins/geoserver-css-plugin.zip ]
then
wget -c http://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/extensions/geoser
fi
if [ ! -f resources/plugins/geoserver-ysld-plugin.zip ]
then
wget -c http://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/extensions/geoser
fi
if [ ! -f resources/plugins/geoserver-wps-plugin.zip ]
then
wget -c https://sourceforge.net/projects/geoserver/files/GeoServer/${GS_VERSION}/extensions/geoserver-${
fi

if [ ! -f resources/plugins/sqlserver-plugin.zip ]
then
wget -c https://sourceforge.net/projects/geoserver/files/GeoServer/${GS_VERSION}/extensions/geoserver-${
fi

Por último el comando para la construcción de la imagen con base en la definición anterior.
docker build --build-arg TOMCAT_EXTRAS=false -t thinkwhere/geoserver215 .

S-ar putea să vă placă și