Oracle has been active with Docker for quite some time now. From the first hesitant steps from some enthusiastic employees with Docker build files that helped people to get going with Oracle software in their experimental containers to a GitHub repo with a broad set of extensive Docker build files to create Docker containers with various Oracle product that are supported (https://github.com/oracle/docker-images). And of course the Oracle Container Cloud – launched in the Spring of 2017 that will run custom Docker images. And now recently the next step: the availability of the Oracle Container Registry – Oracle’s own Docker container registry that offers a range of ready built container images with Oracle software. Using these images – all you need to run Oracle platform component on your local Docker Host or Kubernetes cluster is docker pull from this registry followed by a docker run.
In this article I will give a quick example of how to work this the Oracle Container Registry. It can be found at: https://container-registry.oracle.com .
The steps to go through:
1. Register as a user for the Oracle Container Registry (one time only, an Oracle account is required)
2. Explore the registry, locate the desired image(s) and Agree to and accept the Oracle Standard Terms and Restrictions for the image(s) that you want to make use of
3. Do a docker login to connect to the Oracle Container Registry
4. Pull the image(s) that you need
5. Run the image(s)
Open the link for the Container Registry:
Provide the account’s credentials. The click on Create New User.
A confirmation email is sent:
And now the opening page lists the areas in which currently images are provided:
You can explore what images are available, for example for the database:
And for Java:
Before you can download any image, you need to accept the terms for that specific image – a manual step in the user interface of the container registry:
After pressing Accept, this image is now available to be pulled from docker.
Run Docker container based on Oracle’s Java Runtime Image
I will focus now on the Java Run Time image – one of the smaller images on the registry – to demonstrate the steps for running it in my local Docker host.
Accept the terms:
Click on the name of image to get the details and the docker pull command required for this image:
Check out the tags:
We wil go for the latest.
From the Docker host, first do a login, using your Oracle account credentials:
docker login –u username –p password container-registry.oracle.com
docker pull container-registry.oracle.com/java/serverjre
The image is downloaded and stored locally in the image cache.
When the download is complete the image (not small mind you, at 377 MB) is available to be used for running container instances, in the regular Docker way. For example:
docker run -it container-registry.oracle.com/java/serverjre
Et voila: the container is running locally based on a pre built image. No local build steps are required, no downloading of required software packages and special configurations to be applied. The Java runtime is fairly straightforward. With running the Oracle Docker image for the enterprise database or the Fusion Middleware infrastructure, the gain is even bigger from using the prebuilt image from the Oracle Container Registry.
If you want to free up local space, you can of course remove the Oracle Docker image. After all, it is easy to pull it again from the registry.