Oracle Licensing for Containers

This does not apply to Solaris Containers, Solaris Zones or Windows Containers

Summary of Oracle Guidance

"Once a container image (e.g. a Docker image) containing Oracle Programs has been pulled to a host, or to a Kubernetes node in a Kubernetes cluster, (either a virtual machine or a physical machine), that host or Kubernetes node must be licensed for the Oracle Programs for the number of processors on that host or Kubernetes node. If the host or Kubernetes node is a physical machine, the number of processors on that host or Kubernetes node equals the number of processors on that physical machine. If the host or Kubernetes node is a virtual machine, then the number of processors on that host or Kubernetes node is subject to the guidelines documented in the Partitioning Policy." (1)


Note that the text above comes from the Partioning Policy, which is "for educational purposes only and provides guidelines regarding Oracle's policies in effect as of February 14, 2022. It may not be incorporated into any contract and does not constitute a contract or a commitment to any specific terms." (1)

"Every pull operation executed on a host, for an image containing Oracle Programs, is equivalent to installing the Oracle Programs on that host and will create licensing requirements for that host." (2)

"Container technologies allow users to assign a subset of host resources (such as RAM or CPU resources) to the container. For example the command docker run –cpus=”1.0” <image> assigns only 1 CPU to the container regardless of how many CPUs are available on the host. Oracle does not recognize these technologies as hard partitioning technologies as defined in the Oracle Partitioning Policy document. Users should not use these container technology features with the expectation that they will limit Oracle licensing requirements" (2)

Bibliography & References