JasperReports IO Dockerfile
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker
LICENSE
README.md

README.md

TIBCO JasperReports® IO for Docker

Table of contents

  1. Introduction
  2. Prerequisites
  3. Downloading JasperReports IO
  4. Cloning the repository(optional)
  5. Repository structure
  6. Build and run
  7. Building and running with default repository
  8. Mounting external repository folder as a volume
  9. Customizing JasperReports IO at runtime
  10. Applying customizations
  11. License
  12. JasperReports IO - Professional Edition License Usage and Restrictions

Introduction

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.

Prerequisites

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.

Downloading JasperReports IO

Download the JasperReports IO zip archive from the Jaspersoft website and unpack it.

Cloning the repository(optional)

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.

Docker folder repository structure

When you unpack the JasperReports IO zip, the following files are placed under docker folder:

  • Dockerfile - sample build commands
  • application-context.xml - repository configuration file
  • jrio.sh- overlay script

Build and run

Building and running with default repository

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)

Mounting external repository folder as a volume

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

Customizing JasperReports IO at runtime

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.

Applying customizations

$ 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

License

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 License Usage and Restrictions

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

© 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.