robinyo / js-docker Goto Github PK
View Code? Open in Web Editor NEWThis project forked from tibcosoftware/js-docker
Container deployment of TIBCO JasperReports Server Community Edition
License: BSD 3-Clause "New" or "Revised" License
This project forked from tibcosoftware/js-docker
Container deployment of TIBCO JasperReports Server Community Edition
License: BSD 3-Clause "New" or "Revised" License
Hello, i possible to run 2 separated docker instances of jasperserver using docker-compose?
Getting this error on docker-compose build
Dockerfile-cmdline has been updated with jasper reports version 7.8.0
Getting the following error in the log:
07-Oct-2020 08:48:30.759 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.desktop/sun.font=ALL-UNNAMED
07-Oct-2020 08:48:30.760 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
07-Oct-2020 08:48:30.760 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
07-Oct-2020 08:48:30.760 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
07-Oct-2020 08:48:30.760 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
07-Oct-2020 08:48:30.760 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
07-Oct-2020 08:48:30.761 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
07-Oct-2020 08:48:30.761 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
07-Oct-2020 08:48:30.761 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.24] using APR version [1.6.5].
07-Oct-2020 08:48:30.761 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
07-Oct-2020 08:48:30.761 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
07-Oct-2020 08:48:30.765 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1d 10 Sep 2019]
07-Oct-2020 08:48:31.172 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
07-Oct-2020 08:48:31.208 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-openssl-nio-8443"]
07-Oct-2020 08:48:31.520 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1051] milliseconds
07-Oct-2020 08:48:31.576 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
07-Oct-2020 08:48:31.576 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.37]
07-Oct-2020 08:48:31.585 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/jasperserver]
07-Oct-2020 08:48:31.722 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory [/usr/local/tomcat/webapps/jasperserver]
java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1866)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:738)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@7829b776]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:726)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4792)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4928)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
... 37 more
Caused by: java.lang.IllegalArgumentException: java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:143)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
... 44 more
Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:205)
at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:206)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:140)
... 45 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:202)
... 47 more
Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset)
at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1567)
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1484)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1274)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
... 52 more
07-Oct-2020 08:48:31.728 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/jasperserver] has finished in [143] ms
07-Oct-2020 08:48:31.732 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
07-Oct-2020 08:48:31.744 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-openssl-nio-8443"]
07-Oct-2020 08:48:31.746 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [225] milliseconds
Dockerfile (first few lines):
ARG TOMCAT_BASE_IMAGE=tomcat:9.0.37-jdk11-openjdk
FROM ${TOMCAT_BASE_IMAGE}
ARG DN_HOSTNAME
ARG KS_PASSWORD
ARG JRS_HTTPS_ONLY
ARG HTTP_PORT
ARG HTTPS_PORT
ARG POSTGRES_JDBC_DRIVER_VERSION
ARG JASPERREPORTS_SERVER_VERSION
ARG EXPLODED_INSTALLER_DIRECTORY
ENV PHANTOMJS_VERSION ${PHANTOMJS_VERSION:-2.1.1}
ENV DN_HOSTNAME ${DN_HOSTNAME:-localhost.localdomain}
ENV KS_PASSWORD ${KS_PASSWORD:-changeit}
ENV JRS_HTTPS_ONLY ${JRS_HTTPS_ONLY:-false}
ENV HTTP_PORT ${HTTP_PORT:-8080}
ENV HTTPS_PORT ${HTTPS_PORT:-8443}
ENV POSTGRES_JDBC_DRIVER_VERSION ${POSTGRES_JDBC_DRIVER_VERSION:-42.2.16}
ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.8.0}
ENV EXPLODED_INSTALLER_DIRECTORY ${EXPLODED_INSTALLER_DIRECTORY:-resources/jasperreports-server-cp-$JASPERREPORTS_SERVER_VERSION-bin}
Hi,
tomcat reports
Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset)
at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1535)
at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1458)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1274)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
... 51 more
it seems that open-sans-fonts-extension.jar is corrupted.
$ unzip -t open-sans-fonts-extension.jar
Archive: open-sans-fonts-extension.jar
error [open-sans-fonts-extension.jar]: missing 3 bytes in zipfile
(attempting to process anyway)
error [open-sans-fonts-extension.jar]: attempt to seek before beginning of zipfile
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
(attempting to re-compensate)
testing: jasperreports_extension.properties OK
testing: fonts/OpenSans/OpenSans-Light.ttf bad CRC 4ae3134f (should be e70f05f5)
file #3: bad zipfile offset (local header sig): 61199
(attempting to re-compensate)
file #3: bad zipfile offset (local header sig): 61199
file #4: bad zipfile offset (local header sig): 123240
testing: fonts/OpenSans/OpenSans-BoldItalic.ttf OK
testing: fonts/fontsfamily1592346500512.xml OK
At least one error was detected in open-sans-fonts-extension.jar.
Hello, i possible to run 2 separated jasperserver docker instances of jasperserver using docker-compose?
I'm trying to get this working with 7.8.0 (I haven't tried 7.5.0), but there is a missing target folder. Have you tried this?
$ docker build -t jasperserver-ce:7.8.0 .
Sending build context to Docker daemon 1.176GB
Step 1/36 : ARG TOMCAT_BASE_IMAGE=tomcat:9.0.38-jdk11-openjdk
Step 2/36 : FROM ${TOMCAT_BASE_IMAGE}
---> f796d3d2c195
Step 3/36 : ARG DN_HOSTNAME
---> Using cache
---> 0f3318136b8a
Step 4/36 : ARG KS_PASSWORD
---> Using cache
---> c2b1c6bd532a
Step 5/36 : ARG JRS_HTTPS_ONLY
---> Using cache
---> 2e5eeacf128f
Step 6/36 : ARG HTTP_PORT
---> Using cache
---> eac70e449bb6
Step 7/36 : ARG HTTPS_PORT
---> Using cache
---> 28d3b917150a
Step 8/36 : ARG POSTGRES_JDBC_DRIVER_VERSION
---> Using cache
---> e0e9a4d77d36
Step 9/36 : ARG JASPERREPORTS_SERVER_VERSION
---> Using cache
---> e8a3d53aba38
Step 10/36 : ARG EXPLODED_INSTALLER_DIRECTORY
---> Using cache
---> 426a190d1f4f
Step 11/36 : ENV PHANTOMJS_VERSION ${PHANTOMJS_VERSION:-2.1.1}
---> Using cache
---> 3e040cf8e553
Step 12/36 : ENV DN_HOSTNAME ${DN_HOSTNAME:-localhost.localdomain}
---> Using cache
---> 85b0929ac73c
Step 13/36 : ENV KS_PASSWORD ${KS_PASSWORD:-changeit}
---> Using cache
---> 325243cb23ff
Step 14/36 : ENV JRS_HTTPS_ONLY ${JRS_HTTPS_ONLY:-false}
---> Using cache
---> 75d2513607e1
Step 15/36 : ENV HTTP_PORT ${HTTP_PORT:-8080}
---> Using cache
---> ac2af94a0a3e
Step 16/36 : ENV HTTPS_PORT ${HTTPS_PORT:-8443}
---> Using cache
---> f7500691839c
Step 17/36 : ENV POSTGRES_JDBC_DRIVER_VERSION ${POSTGRES_JDBC_DRIVER_VERSION:-42.2.16}
---> Using cache
---> 92f14389cf95
Step 18/36 : ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.8.0}
---> Using cache
---> c084c387a8c8
Step 19/36 : ENV EXPLODED_INSTALLER_DIRECTORY ${EXPLODED_INSTALLER_DIRECTORY:-resources/jasperreports-server-cp-$JASPERREPORTS_SERVER_VERSION-bin}
---> Using cache
---> 124af7ca4b28
Step 20/36 : RUN mkdir -p /usr/src/jasperreports-server
---> Using cache
---> 5a28e6bbfbd2
Step 21/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/jasperserver $CATALINA_HOME/webapps/jasperserver/
---> Using cache
---> 49438b4200f8
Step 22/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/TIB* /usr/src/jasperreports-server/
---> Using cache
---> 254f4de6b1b3
Step 23/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/apache-ant /usr/src/jasperreports-server/apache-ant/
---> Using cache
---> 76c8e1b4059fStep 24/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/js-ant /usr/src/jasperreports-server/buildomatic/
---> Using cache
---> 81816a9efd60
Step 25/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/build.xml /usr/src/jasperreports-server/buildomatic/
---> Using cache
---> 1524698e3b0e
Step 26/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/bin/*.xml /usr/src/jasperreports-server/buildomatic/bin/
---> Using cache
---> 186c37e0c27c
Step 27/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/bin/app-server /usr/src/jasperreports-server/buildomatic/bin/app-server/
---> Using cache
---> c66e642abfc2
Step 28/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/bin/groovy /usr/src/jasperreports-server/buildomatic/bin/groovy/
---> Using cache
---> d451cb00ce8c
Step 29/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/conf_source /usr/src/jasperreports-server/buildomatic/conf_source/
---> Using cache
---> 14f459cff404
Step 30/36 : COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/target /usr/src/jasperreports-server/buildomatic/target/
COPY failed: stat /var/lib/docker/tmp/docker-builder153074697/resources/jasperreports-server-cp-7.8.0-bin/buildomatic/target: no such file or directory
Dockerfile to change Tomcat, Postgres driver versions:
ARG TOMCAT_BASE_IMAGE=tomcat:9.0.38-jdk11-openjdk
FROM ${TOMCAT_BASE_IMAGE}
ARG DN_HOSTNAME
ARG KS_PASSWORD
ARG JRS_HTTPS_ONLY
ARG HTTP_PORT
ARG HTTPS_PORT
ARG POSTGRES_JDBC_DRIVER_VERSION
ARG JASPERREPORTS_SERVER_VERSION
ARG EXPLODED_INSTALLER_DIRECTORY
ENV PHANTOMJS_VERSION ${PHANTOMJS_VERSION:-2.1.1}
ENV DN_HOSTNAME ${DN_HOSTNAME:-localhost.localdomain}
ENV KS_PASSWORD ${KS_PASSWORD:-changeit}
ENV JRS_HTTPS_ONLY ${JRS_HTTPS_ONLY:-false}
ENV HTTP_PORT ${HTTP_PORT:-8080}
ENV HTTPS_PORT ${HTTPS_PORT:-8443}
ENV POSTGRES_JDBC_DRIVER_VERSION ${POSTGRES_JDBC_DRIVER_VERSION:-42.2.16}
ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.8.0}
ENV EXPLODED_INSTALLER_DIRECTORY ${EXPLODED_INSTALLER_DIRECTORY:-resources/jasperreports-server-cp-$JASPERREPORTS_SERVER_VERSION-bin}
Changes to resources/unpackWARInstaller-ce.sh
:
#!/bin/bash
JASPERREPORTS_SERVER_VERSION=7.8.0
# The JasperReports Server CE War File Distribution
# For example: TIB_js-jrs-cp_7.5.0_bin.zip
unzip -o -q TIB_js-jrs-cp_${JASPERREPORTS_SERVER_VERSION}_bin.zip -d .
cd jasperreports-server-cp-${JASPERREPORTS_SERVER_VERSION}-bin || exit
unzip -o -q jasperserver.war -d jasperserver
Downloaded files to resources:
phantomjs-2.1.1-linux-x86_64.tar.bz2
postgresql-42.2.16.jar
TIB_js-jrs-cp_7.8.0_bin.zip
With swarms, the container name is dynamic. More so, container_name
in the compose file won't work with them. Perhaps a better way to search for a running instance of the WAITFORIT_CONTAINER
is to look for an image ancestor. Below is an example where is looks for zero running containers. (I also locked the API version to v1.4
in case future versions of Docker change the default API):
wait_for()
{
while :
do
INSPECT_CONTAINER=`curl --silent --unix-socket /var/run/docker.sock ${API_SERVER}/v1.40/containers/json?filters=%7B%22ancestor%22%3A%5B%22${WAITFORIT_CONTAINER}%22%5D%7D`
INSPECT_CONTAINER_RESULT=$(jq --raw-output '. | length' <<< "${INSPECT_CONTAINER}")
# echoerr $INSPECT_CONTAINER_RESULT
if [[ $INSPECT_CONTAINER_RESULT == "0" ]]; then
exec "${WAITFORIT_CLI[@]}"
exit
else
sleep $WAITFORIT_TIMEOUT
fi
done
}
And it's usage would be something like:
command: ["/wait-for-container-to-exit.sh", "jasperserver-ce-cmdline:7.8.0", "-t" , "30", "--", "/entrypoint-ce.sh", "run"]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.