Files
geoserver-custom-dockerized/README.md
2025-08-25 15:54:45 +09:00

429 lines
27 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 사내 이미지 저장소 -> *****.*******.com/geoserver/geoserver-2.27.0-jdk11-custom로 push한 과정
```sh
⋊> ~/docker on master cat Dockerfile 16:20:24
ARG BUILDER_BASE_IMAGE=eclipse-temurin:11-jdk-jammy@sha256:591c6360ca4f557e02dbe8cdff8e24512e9ff27ea6815a097a7aff1b287e94c5
ARG GEOSERVER_BASE_IMAGE=tomcat:9.0.108-jdk11-temurin-jammy@sha256:66ce2a63bc9b8b361eb40debb0afd72b7dc06700371c85a794c641d4e4f34f24
ARG GS_VERSION=2.27.0
ARG BUILD_GDAL=false
ARG PROJ_VERSION=9.5.1
ARG GDAL_VERSION=3.10.2
ARG INSTALL_PREFIX=/usr/local
# This is a multi stage build.
# The gdal_builder image/stage can be enabled by using
# `--build-arg BUILD_GDAL=true`. The gdal_builder is derived
# from the osgeo/gdal Dockerfile (small ubuntu) and simplified
# version activating the JAVA features on top.
# It builds gdal from sources, which is necessary to get
# working gdal JAVA Bindings, e.g. for the geoserver gdal extension.
# see https://trac.osgeo.org/osgeolive/ticket/2288
#
# NOTE: the build process can take up to 15 mins on average hardware!
FROM $BUILDER_BASE_IMAGE AS gdal_builder
ARG BUILD_GDAL
ARG PROJ_VERSION
ARG GDAL_VERSION
ARG INSTALL_PREFIX
ENV HOME="/root"
USER root
# Setup build env for PROJ and GDAL
RUN mkdir -p /build_projgrids/usr/ \
mkdir -p /build${INSTALL_PREFIX}/share/proj/ \
mkdir -p /build${INSTALL_PREFIX}/include/\
mkdir -p /build${INSTALL_PREFIX}/bin/ \
mkdir -p /build${INSTALL_PREFIX}/lib/ \
mkdir -p /build/usr/share/bash-completion/ \
mkdir -p /build/usr/share/gdal/ \
mkdir -p /build/usr/include/ \
mkdir -p /build_gdal_python/usr/ \
mkdir -p /build_gdal_version_changing/usr/ \
&& if test "${BUILD_GDAL}" = "true"; then \
apt-get update -y \
&& apt-get upgrade -y \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --fix-missing --no-install-recommends \
# PROJ build dependencies
build-essential ca-certificates \
git make ninja-build cmake wget unzip libtool automake \
zlib1g-dev libsqlite3-dev pkg-config sqlite3 libcurl4-openssl-dev \
libtiff-dev patchelf rsync \
# GDAL build dependencies
python3-dev python3-numpy python3-setuptools \
libjpeg-dev libgeos-dev \
libexpat-dev libxerces-c-dev \
libwebp-dev libpng-dev \
libdeflate-dev \
libzstd-dev bash zip curl \
libpq-dev libssl-dev libopenjp2-7-dev \
libspatialite-dev \
libmuparser-dev \
autoconf automake sqlite3 bash-completion swig ant bison; \
fi
# Build PROJ
RUN if test "${BUILD_GDAL}" = "true"; then \
export GCC_ARCH="$(uname -m)" \
&& mkdir -p /build_projgrids/${INSTALL_PREFIX}/share/proj \
&& curl -LO -fsS http://download.osgeo.org/proj/proj-datumgrid-latest.zip \
&& unzip -q -j -u -o proj-datumgrid-latest.zip -d /build_projgrids/${INSTALL_PREFIX}/share/proj \
&& rm -f *.zip \
&& mkdir proj \
&& wget -q https://github.com/OSGeo/PROJ/archive/${PROJ_VERSION}.tar.gz -O - \
| tar xz -C proj --strip-components=1 \
&& export PROJ_DB_CACHE_PARAM="" \
&& cd proj \
&& CFLAGS='-DPROJ_RENAME_SYMBOLS -O2' CXXFLAGS='-DPROJ_RENAME_SYMBOLS -DPROJ_INTERNAL_CPP_NAMESPACE -O2' \
cmake . \
-G Ninja \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DBUILD_TESTING=OFF \
$PROJ_DB_CACHE_PARAM \
&& ninja \
&& DESTDIR="/build" ninja install \
&& cd .. \
&& rm -rf proj \
&& PROJ_SO=$(readlink -f /build${INSTALL_PREFIX}/lib/libproj.so | awk 'BEGIN {FS="libproj.so."} {print $2}') \
&& PROJ_SO_FIRST=$(echo $PROJ_SO | awk 'BEGIN {FS="."} {print $1}') \
&& mv /build${INSTALL_PREFIX}/lib/libproj.so.${PROJ_SO} /build${INSTALL_PREFIX}/lib/libinternalproj.so.${PROJ_SO} \
&& ln -s libinternalproj.so.${PROJ_SO} /build${INSTALL_PREFIX}/lib/libinternalproj.so.${PROJ_SO_FIRST} \
&& ln -s libinternalproj.so.${PROJ_SO} /build${INSTALL_PREFIX}/lib/libinternalproj.so \
&& rm /build${INSTALL_PREFIX}/lib/libproj.* \
&& ${GCC_ARCH}-linux-gnu-strip -s /build${INSTALL_PREFIX}/lib/libinternalproj.so.${PROJ_SO} \
&& for i in /build${INSTALL_PREFIX}/bin/*; do ${GCC_ARCH}-linux-gnu-strip -s $i 2>/dev/null || /bin/true; done \
&& patchelf --set-soname libinternalproj.so.${PROJ_SO_FIRST} /build${INSTALL_PREFIX}/lib/libinternalproj.so.${PROJ_SO} \
&& for i in /build${INSTALL_PREFIX}/bin/*; do patchelf --replace-needed libproj.so.${PROJ_SO_FIRST} libinternalproj.so.${PROJ_SO_FIRST} $i; done \
fi
# Build GDAL
RUN if test "${BUILD_GDAL}" = "true"; then \
export GCC_ARCH="$(uname -m)" \
&& if test "${GDAL_VERSION}" = "master"; then \
export GDAL_VERSION=$(curl -Ls https://api.github.com/repos/OSGeo/gdal/commits/HEAD -H "Accept: application/vnd.github.VERSION.sha"); \
export GDAL_RELEASE_DATE=$(date "+%Y%m%d"); \
fi \
&& if test "${GCC_ARCH}" = "x86_64"; then \
export GDAL_CMAKE_EXTRA_OPTS="-DENABLE_IPO=ON"; \
else \
export GDAL_CMAKE_EXTRA_OPTS=""; \
fi \
&& mkdir gdal \
&& wget -q https://github.com/OSGeo/gdal/archive/v${GDAL_VERSION}.tar.gz -O - \
| tar xz -C gdal --strip-components=1 \
&& cd gdal \
&& mkdir build \
&& cd build \
&& CFLAGS='-DPROJ_RENAME_SYMBOLS -O2' CXXFLAGS='-DPROJ_RENAME_SYMBOLS -DPROJ_INTERNAL_CPP_NAMESPACE -O2 -Wno-psabi' \
cmake .. \
-G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DGDAL_FIND_PACKAGE_PROJ_MODE=MODULE \
-DPROJ_INCLUDE_DIR="/build${INSTALL_PREFIX-/usr/local}/include" \
-DPROJ_LIBRARY="/build${INSTALL_PREFIX-/usr/local}/lib/libinternalproj.so" \
-DGDAL_USE_TIFF_INTERNAL=ON \
-DGDAL_USE_GEOTIFF_INTERNAL=ON ${GDAL_CMAKE_EXTRA_OPTS} \
-DBUILD_TESTING=OFF \
-DBUILD_JAVA_BINDINGS=ON \
-DGDAL_JAVA_INSTALL_DIR=${INSTALL_PREFIX-/usr/local}/lib \
-DGDAL_JAVA_JNI_INSTALL_DIR=${INSTALL_PREFIX-/usr/local}/lib \
&& ninja \
&& DESTDIR="/build" ninja install \
&& cd .. \
&& cd .. \
&& rm -rf gdal \
&& mkdir -p /build_gdal_python/usr/lib \
&& mkdir -p /build_gdal_python/usr/bin \
&& mkdir -p /build_gdal_version_changing/usr/include \
&& mv /build/usr/lib/python* /build_gdal_python/usr/lib \
&& mv /build/usr/lib /build_gdal_version_changing/usr \
&& mv /build/usr/include/gdal_version.h /build_gdal_version_changing/usr/include \
&& mv /build/usr/bin/*.py /build_gdal_python/usr/bin \
&& mv /build/usr/bin /build_gdal_version_changing/usr \
&& for i in /build_gdal_version_changing/usr/lib/${GCC_ARCH}-linux-gnu/*; do ${GCC_ARCH}-linux-gnu-strip -s $i 2>/dev/null || /bin/true; done \
&& for i in /build_gdal_python/usr/lib/python3/dist-packages/osgeo/*.so; do ${GCC_ARCH}-linux-gnu-strip -s $i 2>/dev/null || /bin/true; done \
&& for i in /build_gdal_version_changing/usr/bin/*; do ${GCC_ARCH}-linux-gnu-strip -s $i 2>/dev/null || /bin/true; done \
fi
#############################
#############################
### final GeoServer image ###
#############################
#############################
FROM $GEOSERVER_BASE_IMAGE AS geoserver
LABEL vendor="osgeo.org"
# Build arguments
ARG ADDITIONAL_FONTS_PATH=./additional_fonts/
ARG ADDITIONAL_LIBS_PATH=./additional_libs/
ARG BUILD_GDAL
ARG COMMUNITY_PLUGIN_URL=''
ARG CORS_ALLOWED_HEADERS=Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers
ARG CORS_ALLOWED_METHODS=GET,POST,PUT,DELETE,HEAD,OPTIONS
ARG CORS_ALLOWED_ORIGINS=*
ARG CORS_ALLOW_CREDENTIALS=false
ARG CORS_ENABLED=false
ARG GS_VERSION
ARG GS_BUILD=release
ARG GS_DATA_PATH=./geoserver_data/
ARG INSTALL_PREFIX
ARG STABLE_PLUGIN_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/extensions
ARG WAR_ZIP_URL=https://downloads.sourceforge.net/project/geoserver/GeoServer/${GS_VERSION}/geoserver-${GS_VERSION}-war.zip
# Environment variables
ENV ADDITIONAL_FONTS_DIR=/opt/additional_fonts/
ENV ADDITIONAL_LIBS_DIR=/opt/additional_libs/
ENV CATALINA_HOME=$CATALINA_HOME
ENV COMMUNITY_EXTENSIONS=''
ENV COMMUNITY_PLUGIN_URL=$COMMUNITY_PLUGIN_URL
ENV CONFIG_DIR=/opt/config
ENV CONFIG_OVERRIDES_DIR=/opt/config_overrides
ENV CORS_ALLOWED_HEADERS=$CORS_ALLOWED_HEADERS
ENV CORS_ALLOWED_METHODS=$CORS_ALLOWED_METHODS
ENV CORS_ALLOWED_ORIGINS=$CORS_ALLOWED_ORIGINS
ENV CORS_ALLOW_CREDENTIALS=$CORS_ALLOW_CREDENTIALS
ENV CORS_ENABLED=$CORS_ENABLED
ENV EXTRA_JAVA_OPTS="-Xms256m -Xmx1g"
ENV GEOSERVER_BUILD=$GS_BUILD
ENV GEOSERVER_DATA_DIR=/opt/geoserver_data/
ENV GEOSERVER_LIB_DIR=$CATALINA_HOME/webapps/geoserver/WEB-INF/lib/
ENV SET_GEOSERVER_REQUIRE_FILE=true
ENV GEOSERVER_VERSION=$GS_VERSION
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
ENV HEALTHCHECK_URL=''
ENV INSTALL_EXTENSIONS=false
ENV POSTGRES_JNDI_ENABLED=false
ENV ROOT_WEBAPP_REDIRECT=false
ENV RUN_UNPRIVILEGED=false
ENV RUN_WITH_USER_UID=
ENV RUN_WITH_USER_GID=
ENV CHANGE_OWNERSHIP_ON_FOLDERS="/opt $GEOSERVER_DATA_DIR"
ENV SKIP_DEMO_DATA=false
ENV STABLE_EXTENSIONS=''
ENV STABLE_PLUGIN_URL=$STABLE_PLUGIN_URL
ENV WAR_ZIP_URL=$WAR_ZIP_URL
ENV WEBAPP_CONTEXT=geoserver
# see https://docs.geoserver.org/stable/en/user/production/container.html
ENV CATALINA_OPTS="\$EXTRA_JAVA_OPTS \
--add-exports=java.desktop/sun.awt.image=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.text=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \
--add-opens=java.naming/com.sun.jndi.ldap=ALL-UNNAMED \
--add-opens=java.desktop/sun.java2d.pipe=ALL-UNNAMED \
-Djava.awt.headless=true -server \
-Dfile.encoding=UTF-8 \
-Djavax.servlet.request.encoding=UTF-8 \
-Djavax.servlet.response.encoding=UTF-8 \
-D-XX:SoftRefLRUPolicyMSPerMB=36000 \
-Xbootclasspath/a:$CATALINA_HOME/lib/marlin.jar \
-Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine \
-Dorg.geotools.coverage.jaiext.enabled=true"
WORKDIR /tmp
# Install dependencies
RUN set -eux \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -y \
&& apt-get upgrade -y \
&& apt-get install -y --no-install-recommends \
# Basic dependencies
openssl curl unzip locales gettext gosu \
&& if test "${BUILD_GDAL}" = "true"; then \
# PROJ dependencies
apt-get install -y --no-install-recommends libsqlite3-0 libtiff5 libcurl4 ca-certificates \
# GDAL dependencies
bash-completion python3-numpy libpython3.11 libjpeg-turbo8 libgeos3.10.2 libgeos-c1v5 \
libexpat1 libxerces-c3.2 libwebp7 libpng16-16 libdeflate0 libzstd1 bash libpq5 libssl3 \
libopenjp2-7 libspatialite7 libmuparser2v5 python3-pil python-is-python3; \
fi \
&& apt-get clean \
&& rm -rf /var/cache/apt/* \
&& rm -rf /var/lib/apt/lists/*
# install gdal (and proj)
# the source directories are empty in case of
# BUILD_GDAL=false
COPY --from=gdal_builder /build_projgrids/usr/ /usr/
COPY --from=gdal_builder /build${INSTALL_PREFIX}/share/proj/ ${INSTALL_PREFIX}/share/proj/
COPY --from=gdal_builder /build${INSTALL_PREFIX}/include/ ${INSTALL_PREFIX}/include/
COPY --from=gdal_builder /build${INSTALL_PREFIX}/bin/ ${INSTALL_PREFIX}/bin/
COPY --from=gdal_builder /build${INSTALL_PREFIX}/lib/ ${INSTALL_PREFIX}/lib/
COPY --from=gdal_builder /build/usr/share/bash-completion/ /usr/share/bash-completion/
COPY --from=gdal_builder /build/usr/share/gdal/ /usr/share/gdal/
COPY --from=gdal_builder /build/usr/include/ /usr/include/
COPY --from=gdal_builder /build_gdal_python/usr/ /usr/
COPY --from=gdal_builder /build_gdal_version_changing/usr/ /usr/
RUN if test "${BUILD_GDAL}" = "true"; then \
ldconfig; \
echo "source /usr/share/bash-completion/bash_completion" >> /root/.bashrc; \
fi
# Download geoserver
RUN set -eux \
&& echo "Downloading GeoServer ${GS_VERSION} ${GS_BUILD}" \
&& wget -q -O /tmp/geoserver.zip $WAR_ZIP_URL \
&& unzip geoserver.zip geoserver.war -d /tmp/ \
&& unzip -q /tmp/geoserver.war -d /tmp/geoserver \
&& rm /tmp/geoserver.war \
&& rm geoserver.zip \
&& echo "Installing GeoServer $GS_VERSION $GS_BUILD" \
&& mv /tmp/geoserver $CATALINA_HOME/webapps/geoserver \
&& mv $CATALINA_HOME/webapps/geoserver/WEB-INF/lib/marlin-*.jar $CATALINA_HOME/lib/marlin.jar \
&& mv $CATALINA_HOME/webapps/geoserver/WEB-INF/lib/postgresql-*.jar $CATALINA_HOME/lib/ \
&& mkdir -p $GEOSERVER_DATA_DIR
# Copy data and additional libs / fonts
COPY $GS_DATA_PATH $GEOSERVER_DATA_DIR
COPY $ADDITIONAL_LIBS_PATH $GEOSERVER_LIB_DIR
COPY $ADDITIONAL_FONTS_PATH /usr/share/fonts/truetype/
# Add default configs
COPY config $CONFIG_DIR
# Apply CIS Apache tomcat recommendations regarding server information
# * Alter the advertised server.info String (2.1 - 2.3)
RUN cd $CATALINA_HOME/lib \
&& jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties \
&& sed -i 's/Apache Tomcat\/'"${TOMCAT_VERSION}"'/i_am_a_teapot/g' org/apache/catalina/util/ServerInfo.properties \
&& sed -i 's/'"${TOMCAT_VERSION}"'/x.y.z/g' org/apache/catalina/util/ServerInfo.properties \
&& sed -i 's/^server.built=.*/server.built=/g' org/apache/catalina/util/ServerInfo.properties \
&& jar uf catalina.jar org/apache/catalina/util/ServerInfo.properties \
&& rm -rf org/apache/catalina/util/ServerInfo.properties
# copy scripts
COPY *.sh /opt/
# CIS Docker benchmark: Remove setuid and setgid permissions in the images to prevent privilege escalation attacks within containers.
RUN find / -perm /6000 -type f -exec chmod a-s {} \; || true
# cleanup
RUN apt purge -y \
&& apt autoremove --purge -y \
&& rm -rf /tmp/ \
&& rm -rf $CATALINA_HOME/webapps/ROOT \
&& rm -rf $CATALINA_HOME/webapps/docs \
&& rm -rf $CATALINA_HOME/webapps/examples \
&& rm -rf $CATALINA_HOME/webapps/host-manager \
&& rm -rf $CATALINA_HOME/webapps/manager
# GeoServer user => restrict access to $CATALINA_HOME and GeoServer directories
# See also CIS Docker benchmark and docker best practices
RUN chmod +x /opt/*.sh && sed -i 's/\r$//' /opt/startup.sh
ENTRYPOINT ["bash", "/opt/startup.sh"]
WORKDIR /opt
EXPOSE 8080
HEALTHCHECK --interval=1m --timeout=20s --retries=3 \
CMD curl --fail --url "$(cat $CATALINA_HOME/conf/healthcheck_url.txt)" || exit 1
⋊> ~/docker on master docker build -t *****.*******.com/geoserver/geoserver-2.27.0-jdk11-custom . 16:20:33
[+] Building 586.0s (35/35) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 14.89kB 0.0s
=> [internal] load metadata for docker.io/library/tomcat:9.0.108-jdk11-temurin-jammy@sha256:66ce2a63bc9b8b361eb40debb0afd72b7dc06700371c85a794c641d4e4f34f24 0.0s
=> [internal] load metadata for docker.io/library/eclipse-temurin:11-jdk-jammy@sha256:591c6360ca4f557e02dbe8cdff8e24512e9ff27ea6815a097a7aff1b287e94c5 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 56B 0.0s
=> [geoserver 1/25] FROM docker.io/library/tomcat:9.0.108-jdk11-temurin-jammy@sha256:66ce2a63bc9b8b361eb40debb0afd72b7dc06700371c85a794c641d4e4f34f24 3.3s
=> => resolve docker.io/library/tomcat:9.0.108-jdk11-temurin-jammy@sha256:66ce2a63bc9b8b361eb40debb0afd72b7dc06700371c85a794c641d4e4f34f24 0.0s
=> => sha256:fab304507a151bbd53b083855ec6b558f4adc250ffe29c16e44fc5a0055b3f2f 14.00MB / 14.00MB 1.9s
=> => sha256:99832bc5c4945f437416b7c99f0a2c41eb2fc796e1592d231752b6d91139a116 138B / 138B 0.9s
=> => extracting sha256:99832bc5c4945f437416b7c99f0a2c41eb2fc796e1592d231752b6d91139a116 0.0s
=> => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.0s
=> => extracting sha256:fab304507a151bbd53b083855ec6b558f4adc250ffe29c16e44fc5a0055b3f2f 0.2s
=> [gdal_builder 1/4] FROM docker.io/library/eclipse-temurin:11-jdk-jammy@sha256:591c6360ca4f557e02dbe8cdff8e24512e9ff27ea6815a097a7aff1b287e94c5 6.8s
=> => resolve docker.io/library/eclipse-temurin:11-jdk-jammy@sha256:591c6360ca4f557e02dbe8cdff8e24512e9ff27ea6815a097a7aff1b287e94c5 0.0s
=> => sha256:d3f8521fb6f5632a8d59ceffc3cad5e3f5cc23ff1e77d2574658e166720daa6c 159B / 159B 0.9s
=> => sha256:54610a5abf09d2d7024df2ab7342f4d4eb41cbf7a4a3f45e8b51211f558c6e83 2.28kB / 2.28kB 0.9s
=> => sha256:3ced20038d839de95ce9b811571e1b7b0c08afcb3c581a88f2443c81f83dfe96 145.67MB / 145.67MB 5.7s
=> => sha256:c129b08097e9b5d02181d6092ea38bdd60de96aed18c248a1a24737e0a8d36cf 16.15MB / 16.15MB 1.3s
=> => sha256:a3be5d4ce40198dc77f17780f02720f55b1898a2368f701dd1619fc9f84aac86 29.54MB / 29.54MB 1.8s
=> => extracting sha256:a3be5d4ce40198dc77f17780f02720f55b1898a2368f701dd1619fc9f84aac86 0.8s
=> => extracting sha256:c129b08097e9b5d02181d6092ea38bdd60de96aed18c248a1a24737e0a8d36cf 0.5s
=> => extracting sha256:3ced20038d839de95ce9b811571e1b7b0c08afcb3c581a88f2443c81f83dfe96 0.9s
=> => extracting sha256:d3f8521fb6f5632a8d59ceffc3cad5e3f5cc23ff1e77d2574658e166720daa6c 0.0s
=> => extracting sha256:54610a5abf09d2d7024df2ab7342f4d4eb41cbf7a4a3f45e8b51211f558c6e83 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 33.29kB 0.0s
=> [gdal_builder 2/4] RUN mkdir -p /build_projgrids/usr/ mkdir -p /build/usr/local/share/proj/ mkdir -p /build/usr/local/include/ mkdir -p /build/usr/local/ 0.4s
=> [geoserver 2/25] WORKDIR /tmp 0.2s
=> [gdal_builder 3/4] RUN if test "false" = "true"; then export GCC_ARCH="$(uname -m)" && mkdir -p /build_projgrids//usr/local/share/proj && cu 0.6s
=> [geoserver 3/25] RUN set -eux && export DEBIAN_FRONTEND=noninteractive && apt-get update -y && apt-get upgrade -y && apt-get install -y --no-insta 12.8s
=> [gdal_builder 4/4] RUN if test "false" = "true"; then export GCC_ARCH="$(uname -m)" && if test "3.10.2" = "master"; then export GDAL_VER 0.5s
=> [geoserver 4/25] COPY --from=gdal_builder /build_projgrids/usr/ /usr/ 0.0s
=> [geoserver 5/25] COPY --from=gdal_builder /build/usr/local/share/proj/ /usr/local/share/proj/ 0.0s
=> [geoserver 6/25] COPY --from=gdal_builder /build/usr/local/include/ /usr/local/include/ 0.1s
=> [geoserver 7/25] COPY --from=gdal_builder /build/usr/local/bin/ /usr/local/bin/ 0.0s
=> [geoserver 8/25] COPY --from=gdal_builder /build/usr/local/lib/ /usr/local/lib/ 0.0s
=> [geoserver 9/25] COPY --from=gdal_builder /build/usr/share/bash-completion/ /usr/share/bash-completion/ 0.0s
=> [geoserver 10/25] COPY --from=gdal_builder /build/usr/share/gdal/ /usr/share/gdal/ 0.0s
=> [geoserver 11/25] COPY --from=gdal_builder /build/usr/include/ /usr/include/ 0.0s
=> [geoserver 12/25] COPY --from=gdal_builder /build_gdal_python/usr/ /usr/ 0.0s
=> [geoserver 13/25] COPY --from=gdal_builder /build_gdal_version_changing/usr/ /usr/ 0.0s
=> [geoserver 14/25] RUN if test "false" = "true"; then ldconfig; echo "source /usr/share/bash-completion/bash_completion" >> /root/.bashrc; fi 0.3s
=> [geoserver 15/25] RUN set -eux && echo "Downloading GeoServer 2.27.0 release" && wget -q -O /tmp/geoserver.zip https://downloads.sourceforge.net/project/g 556.5s
=> [geoserver 16/25] COPY ./geoserver_data/ /opt/geoserver_data/ 0.1s
=> [geoserver 17/25] COPY ./additional_libs/ /usr/local/tomcat/webapps/geoserver/WEB-INF/lib/ 0.1s
=> [geoserver 18/25] COPY ./additional_fonts/ /usr/share/fonts/truetype/ 0.1s
=> [geoserver 19/25] COPY config /opt/config 0.1s
=> [geoserver 20/25] RUN cd /usr/local/tomcat/lib && jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties && sed -i 's/Apache Tomcat\/'"9.0.108"' 0.7s
=> [geoserver 21/25] COPY *.sh /opt/ 0.1s
=> [geoserver 22/25] RUN find / -perm /6000 -type f -exec chmod a-s {} ; || true 0.8s
=> [geoserver 23/25] RUN apt purge -y && apt autoremove --purge -y && rm -rf /tmp/ && rm -rf /usr/local/tomcat/webapps/ROOT && rm -rf /usr/local/tomcat/webapp 0.4s
=> [geoserver 24/25] RUN chmod +x /opt/*.sh && sed -i 's/\r$//' /opt/startup.sh 0.7s
=> [geoserver 25/25] WORKDIR /opt 0.1s
=> exporting to image 5.3s
=> => exporting layers 4.0s
=> => exporting manifest sha256:ffa7a58af1c22f326eeb7bdb731815d874231d518d5fe084627940f1e3476341 0.0s
=> => exporting config sha256:1adb5cc1aaf6ecb28b05f9a416c835da4b19527f9deac245f4a70ad53636fdb8 0.0s
=> => exporting attestation manifest sha256:8a6abaab0c1cd9d62e1845a28fe066b8e8c2d45f8b91e76be763fd30c07bc779 0.0s
=> => exporting manifest list sha256:1b24e76fd642215d1dc306fc2206216558495d8440552122c560db365732414b 0.0s
=> => naming to *****.*******.com/geoserver/geoserver-2.27.0-jdk11-custom:latest 0.0s
=> => unpacking to *****.*******.com/geoserver/geoserver-2.27.0-jdk11-custom:latest 1.1s
2 warnings found (use docker --debug to expand):
- SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "CORS_ALLOW_CREDENTIALS") (line 165)
- SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "CORS_ALLOW_CREDENTIALS") (line 185)
⋊> ~/docker on master docker push *****.*******.com/geoserver/geoserver-2.27.0-jdk11-custom:latest 16:39:11
The push refers to repository [*****.*******.com/geoserver/geoserver-2.27.0-jdk11-custom]
554b4f0680d9: Pushed
51a85d5ab74e: Pushed
35fad3c0c30d: Pushed
3f3a88729652: Pushed
d3f8521fb6f5: Pushed
0e7f36ce3230: Pushed
ee62cc90c22f: Pushed
4f4fb700ef54: Pushed
54610a5abf09: Pushed
99832bc5c494: Pushed
2644b232d0fc: Pushed
dbb9ddeeab5c: Pushed
7ed2f0583184: Pushed
be9da5e37cbb: Pushed
1a6ebc15e29d: Pushed
fe230fe3caf3: Pushed
c129b08097e9: Pushed
3ced20038d83: Pushed
2029ebfc633e: Pushed
fab304507a15: Pushed
a3be5d4ce401: Pushed
a1c04b5beb11: Pushed
latest: digest: sha256:1b24e76fd642215d1dc306fc2206216558495d8440552122c560db365732414b size: 856
```