Beruflich Dokumente
Kultur Dokumente
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.
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>
# Unset Java related ENVs since they may change with Oracle JDK
ENV JAVA_VERSION=
ENV JAVA_DEBIAN_VERSION=
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
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 .