Giter Site home page Giter Site logo

jrio-docker's Introduction

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.

jrio-docker's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.