Running ABBYY FineReader Engine 12 inside a Docker container

This section provides the instructions on running ABBYY FineReader Engine 12 inside the Docker container in the scenario of using two containers: the first one with ABBYY FineReader Engine, and the second one with the Licensing Service. Implementing of this scenario increases the fault tolerance and ensures the continuous operation of all containers. If one of the containers fails, you can restart it without interrupting the other.

An Online License, which connects to *.abbyy.com license server, is used for this scenario.

Note: ABBYY Licensing Service can work with only one Online License at the same time.

You need:

  • your Сustomer Project ID
  • an Online License token file
  • the password to the license token file

You need to fulfill the following conditions for using an Online License wherever ABBYY Licensing Service is installed:

  • Active Internet connection
  • Allowed connections to *.abbyy.com on port 443 (HTTPS)
  • GoDaddy Trusted Root Certification Authority

Important! GoDaddy root certificate for the Certification Authority should be installed in the local machine version of the Trusted Root Certification Authorities certificate store. See the detailed information about the certificate on the GoDaddy website.

To run ABBYY FineReader Engine 12 in Docker container:

  1. Download and install Docker for Windows on your machine.
  2. Enable Hyper-V and Containers Windows features.
  3. Select the "Use Windows containers instead of Linux containers" option during the container installation.
  4. Create an empty directory and put into it:
  • docker-compose.yml — a configuration of Docker Compose (See its listing below)
  • TestAppFolder — a directory with
    • Online License token file
    • test application compiled to use this token file as well as the password to it and your Customer Project ID
  • Dockerfile_ls — a Dockerfile for container with the Licensing Service (See its listing below)

Important! Dockerfile_ls is intended for building a container that will be working with only one container built from Dockerfile_worker. Do not configure multiple replicas of container with ABBYY FineReader Engine to work with a single Licensing Service.

  • LicensingSettings_ls.xml - a file with parameters of licensing for the Licensing Service (See its listing below)
  • DeployLS.ps1 — a script for launching the Licensing Service (See its listing below)

Note: This script runs the Licensing Service with /standalone key. With this key, the Licensing Service works as a foreground process, which is the best practice for working in Docker containers.

  • Dockerfile_worker — a Dockerfile for container with ABBYY FineReader Engine and test application (See its listing below)
  • LicensingSettings_worker.xml - a file with parameters of licensing for the ABBYY FineReader Engine library (See its listing below)
  • SetUpWorkerLicensing.ps1 - a script for replacing the server name in LicensingSettings_worker.xml with the name specified in docker-compose.yml (See its listing below)
  • RunTestApp.ps1 — a command-line script to run the test application (See its listing below)
  1. Unpack the ABBYY FineReader Engine distributive package to the previously created directory with the command:
installRnt64.exe /extract InstallDir="<your_directory>/FRE"
    
  1. To build and run the containers, use the following command:
docker-compose up
    

The results of running the test application will be displayed in the console.

Important! If you use Windows Server Core as a container base image, set the fonts after deploying ABBYY FineReader Engine, as described in the Working with Fonts article in Developer's Help.

docker-compose.yml

Dockerfile_ls

LicensingSettings_ls.xml

DeployLS.ps1

Dockerfile_worker

LicensingSettings_worker.xml

SetUpWorkerLicensing.ps1

RunTestApp.ps1

17.09.2024 15:14:40

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.