Installation Instructions - Docker Image (Production Use)

You must have Docker Engine installed as per https://docs.docker.com/install for this installation option.

Start command session to Docker host and make sure you can run docker commands. If necessary sudo to root or other user.

Here are main steps for this type of docker image. If you are trying to upgrade FlexDeploy for Docker, please following FlexDeploy Upgrade - Docker.

  1. Setup docker volume folder and copy plugins in it from download zip.
  2. Setup FlexDeploy Database
  3. Pull docker image
  4. Start container using specific image.

Step 1 - Setup Docker Volume Folder on Docker Host

This particular image only contains FlexDeploy with Tomcat, i.e. data and artifact repository is not part of the container. Hence we need to setup Database and various Folders first. You will also need to download FlexDeploy Tomcat distribution for database scripts and plugins.

In this step, we will setup application and repository folder, then copy plugins from download zip in to necessary folder.

# adjust folder location as necessary for your Docker Host
mkdir -p /scratch/DockerVolume/flexdeploy
chmod -R 777 /scratch/DockerVolume
cd /scratch/DockerVolume
mkdir application
mkdir repository
cd application
mkdir plugins
cp ~/Tomcat_Complete-5.6.0.0/application/plugins/*.jar .
# ready with docker volume now

If you need to use additional libraries or file you can place them under /scratch/DockerVolume/flexdeploy. For example, if you unzip SQLcl zip file under /scratch/DockerVolume/flexdeploy, you can reference it as /home/oracle/sqlcl from container (including LOCALHOST endpoint), assuming sqlcl folder is created when SQLcl is unzipped.

Step 2 - Setup FlexDeploy Database

Setup database as described in Installation Instructions - Database Tier.

Step 3 - Pull Docker Image

First let's pull docker image flexdeploy/fd_tcat. If you would like a version other than the latest specifiy a tag. E.G. 5.2.0.2

docker pull flexdeploy/fd_tcat

Step 4 - Run Docker Container

Now let's run FlexDeploy docker image. Adjust image version as necessary.

This particular image contains only FlexDeploy with Tomcat, i.e. data and artifact repository is not part of the container. So we need to pass various details to docker run command.

Run command example below uses port number 8004 for access to FlexDeploy application, which maps to 8080 port inside docker container. The database is referenced using dbtype (oracle or postgres), FLEX_DB_URL environment variable and FD_ADMIN_PWD is password for fd_admin user on your database (setup done in Step 2). Adjust Port Numbers, URL, Password, Docker Volume Folder, Timezone as appropriate for your docker host.

docker run --name flexdeploy56 -p 8004:8080 -e FLEX_DB_URL="jdbc:oracle:thin:@129.213.91.244:1521:xe" -e FD_ADMIN_PWD="welcome1" -e TZ=America/Chicago -e dbtype=oracle|postgres -v /scratch/DockerVolume/flexdeploy:/home/oracle flexdeploy/fd_tcat

Example JDBC URL (FLEX_DB_URL)

  • Oracle
    • Localhost XE connection will look like this. jdbc:oracle:thin:@localhost:1521:XE
    • SID based JDBC URL Syntax - jdbc:oracle:thin:@HOSTNAME:PORT:SID
    • Service Name based JDBC URL Syntax - jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME
  • PostgreSQL

Now you can look at logs and other details in docker volume folder. For example,

If necessary, make sure to open port 8004 for access from outside docker host.

Now you can launch FlexDeploy using http://<docker host>:8004/flexdeploy.

As always when you first launch FlexDeploy, you will need to complete Registration process.

Once you complete registration, you are ready to use FlexDeploy.