Managing Custom Images

Oracle Cloud Infrastructure uses images to launch instances. You specify an image to use when you launch an instance.

You can create a custom image of a bare metal instance's boot disk and use it to launch other instances. Instances you launch from your image include the customizations, configuration, and software installed when you created the image.

For details on Windows images, see Creating Windows Custom Images.

Custom images do not include the data from any attached block volumes. For information about backing up volumes, see Backing Up a Volume.


Follow industry-wide hardware failure best practices to ensure the resilience of your solution in the event of a hardware failure. Some best practices include:

  • Design your system with redundant compute nodes in different availability domains to support failover capability.
  • Create a custom image of your system drive each time you change the image.
  • Back up your data drives, or sync to spare drives, regularly.

If you experience a hardware failure and have followed these practices, you can terminate the failed instance, launch your custom image to create a new instance, and then apply the backup data.


Avoid entering confidential information when assigning descriptions, tags, or friendly names to your cloud resources through the Oracle Cloud Infrastructure Console, API, or CLI.

Required IAM Policy

To use Oracle Cloud Infrastructure, you must be given the required type of access in a policy  written by an administrator, whether you're using the Console or the REST API with an SDK, CLI, or other tool. If you try to perform an action and get a message that you don’t have permission or are unauthorized, confirm with your administrator the type of access you've been granted and which compartment  you should work in.

For administrators: The policy in Let users launch Compute instances includes the ability to create and manage images. If the specified group doesn't need to launch instances or attach volumes, you could simplify that policy to include only manage instance-family, and remove the statements involving volume-family and virtual-network-family.


When users create a custom image from an instance or launch an instance from a custom image, the instance and image don't have to be in the same compartment . However, users must have access to both compartments.

If you're new to policies, see Getting Started with Policies and Common Policies. For reference material about writing policies for instances, cloud networks, or other Core Services API resources, see Details for the Core Services.

Limitations and Considerations

  • Certain IP addresses are reserved for Oracle Cloud Infrastructure use and may not be used in your address numbering scheme. See IP Addresses Reserved for Use by Oracle for more information.
  • Before you create a custom image of an instance, you must disconnect all iSCSI attachments and remove all iscsid node configurations from the instance. For steps, see Disconnecting From a Volume.

  • When you create an image of a running instance, the instance shuts down and remains unavailable for several minutes. The instance restarts when the process completes.
  • You cannot create additional custom images of an instance while the instance is engaged in the image creation process. When you start to create a custom image, the system implements a 20-minute timeout, during which you cannot create another image of the same instance. You can, however, create images of different instances at the same time.
  • Custom images are available to all users authorized for the compartment  in which the image was created.
  • Custom images inherit the compatible shapes that are set by default from the base image.

  • The maximum size for importing a custom image is 400 GB.
  • The maximum size for custom exported images is 400 GB.
  • You cannot create an image of an Oracle Database instance.
  • If you use a custom image and update the OS kernel on your instance, you must also upload the update to the network drive. See OS Kernel Updates for more information.

For information about how to deploy any version of any operating system that is supported by the Oracle Cloud Infrastructure hardware, see Bring Your Own Image (BYOI).

X5 and X7 Compatibility for Custom Images

Oracle X5, X6, and X7 servers have different host hardware. As a result, using an X5 or X6 image on an X7 bare metal or virtual machine (VM) instance may not work without additional modifications. Oracle Cloud Infrastructure recommends for X7 hosts that you use the Oracle-provided images for X7. See Oracle-Provided Image Release Notes for more information about which images support X7. These images have been explicitly created and tested with X7 hardware.

If you attempt to use an existing X5 image on X7 hardware, note the following:

  • CentOS 6 and all Windows versions are not cross-compatible.
  • Oracle Autonomous Linux 7 is cross-compatible.
  • Oracle Linux 6, Oracle Linux 7, Ubuntu 16.04, and CentOS 7 are cross-compatible. However, you must update the kernel to the most recent version to install the latest device drivers. To do this, run the following commands from a terminal session:
    • Oracle Linux
      yum update
    • CentOS 7
      yum update
    • Ubuntu 16.04
      apt-get update
      apt-get dist-upgrade

If you attempt to use an X6 image on non-X6 hardware, note the following:

  • Oracle Linux 6, all CentOS versions, and all Windows versions are not cross-compatible.
  • Oracle Autonomous Linux 7 is cross-compatible.
  • Oracle Linux 7, Ubuntu 18.04, and Ubuntu 16.04 are cross-compatible. Use the Oracle-provided images for X6.

The primary device drivers that are different between X5, X6, and X7 hosts are:

  • Network device drivers
  • NVMe drive device drivers
  • GPU device drivers

Additional updates might be required depending on how you have customized the image.

Using the Console

To create a custom image
To launch an instance from a custom image
To edit the name or compatible shapes for a custom image
To manage tags for a custom image
To delete a custom image

Using the API

For information about using the API and signing requests, see REST APIs and Security Credentials. For information about SDKs, see Software Development Kits and Command Line Interface.

Use the following operations to manage custom images: