I already wrote about Docker and OBIEE in Docker in relation to my OBIEE Docker image I published on GitHub.
As it isn’t always obvious to get started with it, mainly if aren’t familiar with Docker, I decided to write this post which will cover from A to Z how you can get OBIEE running Docker covering: building the images, running the DB, start / stop OBIEE.
All you will need for it is a host (a PC running linux, a server, a VM) with Docker installed.

The process is covered with screenshots for each step and has been based on Oracle Database 12c R1 Docker container using the image provided on https://github.com/oracle/docker-images/tree/master/OracleDatabase and OBIEE 12.2.1.2 using the image provided on https://github.com/gianniceresa/docker-images/tree/master/OracleBIEE.

You can freely use another version of OBIEE (12.2.1.0.0, 12.2.1.1.0 or 12.2.1.3.0) or database (make sure it’s supported by the selected OBIEE version looking at the relative certification matrix.
You can also use a different version of Java if wanted (again check the certification matrix). If you decide to use a different Java make sure you update the Checksum.md5 file with the new name and checksum and the filename inside the Dockerfile (“INSTALL_FILE_JDK” variable).

The Oracle Database Docker image hosted on GitHub can change at any time, so the parameters required by the container can be different than the ones used here. Have a look at the GitHub page to read through the various parameters.

 

More options available

There are various parameters accepted by both the OBIEE and database Docker images, you find examples and list of variables on GitHub.

Getting the binaries

Docker OBIEE12c from scratch: empty folders

Before to start I just created few empty folders to keep things “clean” (and easy to delete once done).

Docker OBIEE12c from scratch: download database

Download the Oracle Database binaries. Version 12.1.0.2.0 will be good, binaries for Linux x86-64.

Docker OBIEE12c from scratch: download OBIEE

Download the OBIEE binaries for the installation. Weblogic and OBIEE for Linux x86-64-bit.

Docker OBIEE12c from scratch: download Oracle JDK

Download Oracle JDK 8. Version 8u101, RPM installer for Linux x64.

Docker OBIEE12c from scratch: waiting downloads

Wait for all the binaries to be downloaded, it’s few Gb of download, will take some time.

Building the Docker images for Oracle Database 12c R1 and OBIEE

Docker OBIEE12c from scratch: clone database images from GIT

Clone the GitHub Oracle repository containing Docker images build files. A “docker-images” folder is created.

Docker OBIEE12c from scratch: database files before to build

Copy the binaires for the database in the 12.1.0.2 folder, this is the final content of the folder before to build the image.

Docker OBIEE12c from scratch: build database image

To build the database image a script is provided. By calling “buildDockerImage.sh” you first see the parameters available.

Docker OBIEE12c from scratch: database image built successfully

The Oracle database 12.1.0.2 image is successfully built.

Docker OBIEE12c from scratch: clone OBIEE images from GIT

Clone my GitHub repository containing Docker images build files for OBIEE. A “docker-images” folder is created.

Docker OBIEE12c from scratch: OBIEE files before to build

Copy the binaires for OBIEE (including the JDK) in the 12.2.1.2.0 folder, this is the final content of the folder before to build the image.

Docker OBIEE12c from scratch: build OBIEE image

To build the OBIEE image a script is provided. By calling “buildDockerImage.sh” you first see the parameters available.

Docker OBIEE12c from scratch: OBIEE image built successfully

The Oracle OBIEE 12.2.1.2.0 image is successfully built.

Run a database container and an OBIEE container

Docker OBIEE12c from scratch: list available images

Check the available Docker images on your host: the freshly built database and OBIEE are there as well as oraclelinux:7-slim, which is the base image used by both the database and OBIEE.

Docker OBIEE12c from scratch: start database container

Create and run the Oracle database Docker container for the first time. Few parameters are required. Check the logs of the container to see what happen inside.

Docker OBIEE12c from scratch: database ready, change password

Once the message “DATABASE IS READY TO USE!” is visible it means your database is ready. It’s time to set a new password replacing the random one generated. (Ctrl+C to exit the log command)

Docker OBIEE12c from scratch: start OBIEE container

Create and run the OBIEE Docker container for the first time. Few parameters are required. Check the logs of the container to see what happen inside. Remember to replace “192.168.120.81” the IP address of the host where Docker is running (but not 127.0.0.1 as this means the Docker container itself).

Docker OBIEE12c from scratch: OBIEE container ready

Once you see the status of components as “RUNNING” it means OBIEE is ready. (Exit the log command by pressing Ctrl+C)

Docker OBIEE12c from scratch: find mapped port for OBIEE

Get the ports Docker mapped for the OBIEE container (dynamic mapping). 9502 is the OBIEE front-end.

Docker OBIEE12c from scratch: open OBIEE in a browser

Open the address (ip + port) in your browser and test if OBIEE works. By default the login is “weblogic” and the password “Admin123”.

Stop the OBIEE container and the database container

Docker OBIEE12c from scratch: check status of containers and stop OBIEE and database

Check the status of the Docker containers, both OBIEE and the database must be up. Stop the containers in the right order: OBIEE first, database after.

Docker OBIEE12c from scratch: check status of containers once stopped

Checking the new status of the Docker containers show both are “exited”.

Restart the containers: content is persisted, nothing is lost

Docker OBIEE12c from scratch: restart database and check logs

Restart the containers in the right order: database first and OBIEE after. OBIEE must be started only when the database is ready.

Docker OBIEE12c from scratch: database ready

The database is ready again so it’s now possible to start OBIEE.

Docker OBIEE12c from scratch: restart OBIEE and check logs

Start the OBIEE container and check the logs.

Docker OBIEE12c from scratch: OBIEE ready again, find new port

The OBIEE Docker container is up again, find the new mapped port. Every time you restart the container the OBIEE ports can be mapping to different port numbers.

Docker OBIEE12c from scratch: check status of containers, all UP again

The status shows both containers up again.

That’s it, you now have a Docker based OBIEE environment. You can run multiple containers in parallel, run multiple versions. Once you are done or you destroyed an environment while trying things just remove the container (“docker rm”) and start a new one.

tl;dr

If you just need the piece of code :

 

Share This