PingIntelligence

Building the PingIntelligence Docker images

Use the build.sh script available in the bin directory to build the Docker images.

About this task

You can build all the following Docker images at once, or you can choose to build the images individually. The following Docker images are built:

  • API Security Enforcer (ASE)

  • API Behavioral Security (ABS)

  • Dashboard

  • MongoDB

  • API Publish

  • Kafka

  • Zookeeper

You should obfuscate the various keys and password in ASE, ABS, and the Dashboard before building the Docker images.

For more information on obfuscating keys and passwords, see the following topics:

To build the Docker images:

Steps

  1. Configure the base image name and base image operating system details in the config/docker.conf file.

  2. Download the following PingIntelligence software to the software directory:

    1. ASE

    2. ABS

    3. PingIntelligence Dashboard

  3. Download OpenJDK 11.0.2, Elasticsearch 7.13.4, Kafka 2.5.0, Zookeeper 3.5.7, and MongoDB 4.2.0 in the external directory and save them with their respective names shown in the following table.

    Make sure that MongoDB is as per the base image configured in the docker.conf file. Always build Kafka and Zookeeper images first, if building individually.

    Software File Name

    Elasticsearch

    elasticsearch.tar.gz

    OpenJDK 11.0.2

    openjdk11.tar.gz

    Kafka

    kafka.tar.gz

    Download the Kafka tar version 2.5.0 tar from https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz

    Zookeeper

    zookeeper.tar.gz

    MongoDB

    mongodb.tgz

  4. Run the build.sh script to build the Docker images:

    docker-setup# ./bin/build.sh all
    Base image os: rhel
    Creating build context for ASE
    Creating Image
    Image created with tag pingidentity/ase:5.0
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_ase.tar
    Creating build context for abs
    Creating Image
    Image created with tag pingidentity/abs:5.0
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_abs.tar
    Creating build context for dashboard
    Creating Image
    Image created with tag pingidentity/dashboard:5.0
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_dashboard.tar
    Creating build context for mongo
    Creating Image
    Image created with tag pingidentity/mongo:4.2.0
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_mongo.tar
    root@ip-172-31-25-146:/home/ubuntu/docker-setup# vim lib/dashboard/context/entrypoint.sh
    Creating build context for apipublish
    Creating Image
    Image created with tag pingidentity/apipublish:5.1
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_apipublish.tar
    Creating build context for kafka
    Creating Image
    Image created with tag pingidentity/kafka:5.1
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_kafka.tar
    Creating build context for zookeeper
    Creating Image
    Image created with tag pingidentity/zookeeper:5.1
    Image saved to /home/ubuntu/docker-setup/images/pingidentity_zookeeper.tar

    The other options that you can give with build.sh are:

    • ase

    • abs

    • dashboard

    • mongo

    • apipublish

    • kafka

    • zookeeper

  5. Verify that the images are created by checking the local registry. Run the following command:

    sudo docker image ls | grep pingidentity

    Example:

    pingidentity/dashboard                5.1       e9bbbb21c14d   18 hours ago    1.69GB
    pingidentity/apipublish               5.1       bc3878f8a340   23 hours ago    777MB
    pingidentity/mongo                    4.2.0     21a8177c0a35   23 hours ago    640MB
    pingidentity/abs                      5.1       540c5c384fba   23 hours ago    766MB
    pingidentity/ase                      5.1       262d9207d5de   23 hours ago    424MB
    pingidentity/zookeeper                5.1       1cf24526f8cf   23 hours ago    690MB
    pingidentity/kafka                    5.1       f9118757f234   23 hours ago    737MB
  6. Verify that the Docker images are saved in the images directory:

    docker-setup# ls -ltra images/

    The Docker images do not install any additional packages like vi editor and so on.

    Example:

    -rw-------.  1 root root  601075200 Dec  2 00:24 pingidentity_kafka.tar
    -rw-------.  1 root root  554516992 Dec  2 00:24 pingidentity_zookeeper.tar
    -rw-------.  1 root root  287269376 Dec  2 00:24 pingidentity_ase.tar
    -rw-------.  1 root root  628353024 Dec  2 00:24 pingidentity_abs.tar
    -rw-------.  1 root root 1549656576 Dec  2 00:25 pingidentity_dashboard.tar
    -rw-------.  1 root root  503818752 Dec  2 00:26 pingidentity_mongo.tar
    -rw-------.  1 root root  637405184 Dec  2 00:26 pingidentity_apipublish.tar