Docker Community Forums

Share and learn in the Docker community.

How to use Oracle enterprise DB for CI builds?

I’m using Oracle enterprise database for development: https://hub.docker.com/_/oracle-database-enterprise-edition
I’ve accepted the license, and I suppose I can use it for development for free now.
I also need to use it for CI builds (in CircleCI), but I don’t want to share my credentials via auth configuration, since my username and passowrd will be shared with all repository contributors (each forked pull request will be built with these credentials). How can I do this legally? Is it ok to push this image to some public repo to pull it from CircleCI?

I am not sure if it is considered redistribution if you push the image to a repository within you organisation and provide a restricted access to users of your project. Though, you should never make this image publicly available or pullable for customers.

From what I remember Oracle applications have a trial period of 30 days, thus are legaly usable for non productive scenarios for 30 days without requiring a license. The software will continue to work after the period, though to stay within license regulations you would need to stop it or buy a license.

Other option:
– ask your customer to provide a license.
– If your environments are run at a cloud provider, you can check if they provide a database service including the required license. For instance, Amazon RDS has an offering for Oracle Databases.

When it commes to the image:
If you have an OTN account, I would strongly advise to build your own image, based on Oracles Github project to build Oracle Database Docker Images: https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance

The Github repo provides entrypoint scripts that allow to prepoluate the database on first start, while the Image from the Docker Store does not. I have no idea why they differ, but they do.