I started experimenting with Oracle on Docker a few months ago. Years ago, I was invited to a few meetings with Docker folks, but nobody could see a need to support persistent storage for Docker containers. Obviously if you want to run a database, you’ll want persistent storage, so I lost interest.
I knew NetApp had a docker volume driver, and I figured now was a time to take a look. I was also surprised to see Oracle has really, really good support for Docker now. Last year when I checked on such support, all I could find is some blogs where various people gave up trying to make it work. They’ve certainly resolved that now.
Here’s the results of my tinkering:
Dockerized Oracle seems truly production-ready. It’s already made my life easier within the lab because I can provision a database in 30 seconds, and can also clone any of them in about 30 seconds. It just occurred to me now that this could simplify a lot of performance engineering projects. I could make some Docker image that are preconfigured to run various SLOB2 performance workloads and make the images available to our engineering teams.
Dockerized Oracle might not be right for a bank processing credit card transactions, but it would meet most requirements, especially for DevOps infrastructures.
I’m working with heavily customized versions of the Oracle dockerfiles and associated utilities. The high-level storage automation might be aimed at Oracle databases, but it could be adapted to any database platform. It’s currently using NFS, but it could also be adapted to iSCSI. It’s also using ONTAP, but could be adapted to SolidFire.