posts

Docker image for Oracle SOA Suite 12c

Posted on
devops oracle soa docker

Cool news came from Oracle a couple of weeks ago: Oracle WebLogic Server is now supported on Docker!.

This is very cool. Docker is a disruptive platform that ship everything inside a container (OS, Configurations, Platform, Application) and let you run it (almost) everywhere! To learn more about Docker

So, WebLogic on Docker is great, but I’d like to go further and Dockerize SOA and BPM products (as Guido Schmitz made with Oracle Stream Explorer)

I used Oracle’s Docker repository as a base to create a Oracle SOA Suite 12c image (with the product installed - no domain included), and a sample Docker configuration to create a Docker image with a domain with SOA and OSB.

 Get the repository

To try this post you should have a machine with Docker installed.

To get started you can download the repository: http://github.com/jeqo/oracle-docker

The repository includes images for MySQL, WebLogic and Coherence. These images comes from Oracle repository.

My contribution is into the ‘OracleSOA’ directory.

Feel free to fork and create “pull-requests”!

 Creating the SOA Suite 12c image

Now you should download Oracle SOA Suite 12c Quick Start installer, and put it into OracleSOA/dockerfiles/12.1.3. Also, you should download Java Development Kit 7, and put it in the same folder.

Open a terminal into OracleSOA directory, go to dockerfiles, run the script buildDockerImage.sh with the -d argument because we are installing the Quick Start version of SOA Suite 12c:

sh buildDockerImage.sh -d

This creates a Docker image called: oracle/soa:12.1.3-dev

 Dockerize a SOA Suite Domain

So, now we have a Docker image with Oracle SOA Suite 12c installed. What we can do now is create a domain with WLST.

That’s what I did, and I add it to the OracleSOA/samples directory.

To run it, go to the OracleSOA/samples/12c-domain and run the following commands:

docker build -t mysoa .

And this should create an image called mysoa that contains a Compact Domain into this directory: /u01/oracle/work/domains/soa-domain

That’s it! When you want to run a SOA Suite 12c Domain, just run:

docker run -i -t mysoa

 Next steps

  • BPM on Docker
  • Publish images on Docker Hub Registry
  • Extended Domain on Docker: Use an external Oracle Database for Oracle SOA/BPM Schemas
  • SOA/BPM Cluster on Docker containers