- Introduction
- Prerequisites
- Downloading JasperReports IO
- Cloning the repository(optional)
- Repository structure
- Build and run
- Building and running with default repository
- Mounting external repository folder as a volume
- Customizing JasperReports IO at runtime
- Applying customizations
- License
- JasperReports IO - Professional Edition License Usage and Restrictions
This repository includes a sample Dockerfile
and
supporting files for
building, configuring, and running
TIBCO JasperReports® IO
in a Docker container.
This distribution can be downloaded from
Github.
This configuration has been certified using JasperReports IO Professional 1.0.0
For more information about JasperReports Server, see the Jaspersoft community.
The following software is required or recommended:
- docker-engine version 17.10 or higher
- git
- (optional) TIBCO JasperReports® IO commercial license. *Contact your sales representative for information about licensing.
Download the JasperReports IO zip archive from the Jaspersoft website and unpack it.
Cloning this JasperReports IO Docker repository is not required as the Dockerfile and all the supported files in this repo are packed inside the JasperReports IO zip distribution.
When you unpack the JasperReports IO zip, the following files are placed under docker folder:
Dockerfile
- sample build commandsapplication-context.xml
- repository configuration filejrio.sh
- overlay script
By default, the JRIO service started from the Docker image uses a repository found inside the Docker instance under the /mnt/jrio-repository folder. To build and run a JasperReports IO container with internal repository, execute these commands in your repository:
$ docker build -f docker/Dockerfile -t jrio:1.0.0 .
$ docker run --name my-jrio -p 5080:8080 jrio:1.0.0
Where:
jrio:1.0.0
is the image name and version tag for your build. This image will be used to create containers.my-jrio
is the name of the new JasperReports IO container.-p 5080:8080
port mapping (jetty service is started by default on port 8080, so container port should be mapped to host port (for ex. to 5080 etc)
Docker recommends the use of data volumes for managing persistent data and configurations.
If repository is mounted as a volume, then default container repository is overridden and replaced with the external one.
$ docker run --name my-jrio -it -p 5080:8080 -v /jrio/jrio-repository:/mnt/jrio-repository jrio:1.0.0
Where:
my-jrio
is the name of the new JasperReports IO container/jrio/jrio-repository
is a local repository mounted as a data volume (make sure that this shared path is configured in your environment from Docker -> Preferences... -> File Sharing)jrio:1.0.0
- is an image name and version tag that is used as a base for the new container/mnt/jrio-repository
is default container repository that is being overrriden
The default JRIO configuration can be overridden or altered at runtime with an overlay script. It copies the content of the /mnt/jrio-folder over /jrio/base.
Customizations can be added to JasperReports IO container at runtime
via the /path/jrio-overlay
directory created in local environment. The files in this directory are applied to
/jrio/base
in sorted order.
$ docker run --name my-jrio -it -p 5080:8080 -v /jrio/jrio-overlay:/mnt/jrio-overlay jrio:1.0.0
Where:
my-jrio
is the name of the new JasperReports IO container/jrio/jrio-overlay
is a local repository mounted as a data volume where configuration files should be placed using full path like /jrio/jrio-overlay/webapps/jrio/WEB-INF/applicationContext-repository.xml
*See docker/jrio.sh
for implementation details
By default, the JasperReports Server IO zip distribution is packaged with a 60 day evaluation license. Once the production license is obtained, it can be replaced using overlay.
$ docker run --name my-jrio -it -p 5080:8080 -v /jrio/jrio-license:/mnt/jrio-overlay jrio:1.0.0
Where:
my-jrio
is the name of the new JasperReports IO container/jrio/jrio-license
is a local repository mounted as a data volume where the license file should be placed using a full path like /jrio/jrio-overlay/webapps/jrio/WEB-INF/classes/jasperserver.license
JasperReports IO Professional Edition usage is restricted to a single machine instance and may not be installed into a distributed or clustered machine configuration.
© Copyright 2018. TIBCO Software Inc. Licensed under a BSD-type license. See LICENSE for license text.
Software Version: 1.0.0
TIBCO, Jaspersoft, and JasperReports are trademarks or registered trademarks of TIBCO Software Inc. in the United States and/or other countries.
Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries.