OS images


Use operating system (OS) images to create boot disks for your virtual machine (VM) instances. You can use one of the following OS image types:

Some OS images are also capable of running containers on Compute Engine.

Public OS images

Compute Engine offers many preconfigured public OS images that have compatible Linux or Windows operating systems. Use these OS images to create and start instances. Compute Engine uses your selected image to create a persistent boot disk for each VM. By default, the boot disk for a VM is the same size as the image that you selected. If your VM requires a larger boot disk than the image size, resize the boot disk.

List of public OS images available on Compute Engine

To see a full list of public OS images with each image's name, size, and version number, you can use the Google Cloud console or the Google Cloud CLI. Compute Engine updates public OS images regularly, or when a patch for a critical impact common vulnerability and exposure (CVE) is available.

Compute Engine provides 64-bit versions of these public OS images. For more information about each OS, including how each OS is customized to run on Compute Engine, see Operating system details.

Console

  1. In the Google Cloud console, go to the Images page.

    Go to Images

    By default, the Google Cloud console list all OS images available in the Compute Engine images, Deep Learning VM Images, and HPC images projects.

gcloud

gcloud compute images list

By default, the gcloud CLI list all OS images available in the Compute Engine images projects.

Custom OS images

A custom OS image is a boot disk image that you own and control access to. Use custom OS images for the following tasks:

  • Import a virtual disk to Compute Engine from your on-premises environment or from VMs that are running on your local workstation or on another cloud platform. You can manually import boot disk images to Compute Engine, but one disk at a time.

  • Create an image from the boot disks of your existing Compute Engine VM instances. Then use that image to create new boot disks for your VMs. This process lets you to create new VMs that are preconfigured with the apps that you need without having to configure a public OS image from scratch.

  • Copy one image to another image by using either the gcloud CLI or the API. Use the same process that you use to create an image, but specify another image as the image source. You can also create an image from a custom image in a different project.

Guest operating system features

Some guest operating system features are available only on certain OS images. For example, multiqueue SCSI is enabled only on some public OS images.

To enable these features on your custom OS images, specify one or more guest operating system features when you create a custom OS image.

OS image costs

Premium OS images, whether public or custom, incur licensing fees to run on Compute Engine. You have two options:

  • Attach an on-demand/pay-as-you-go (PAYG) license
  • Bring your own license (BYOL)/Bring your own subscription (BYOS)

    For more information about licenses, see License types and pricing.

For custom OS images, you also incur an image storage charge while you keep your custom OS image in your project.

Image families

Image families help you manage images in your project by grouping related images together, so that you can roll forward and roll back between specific image versions. An image family always points to the latest version of an OS image that is not deprecated. Most public OS images are grouped into an image family. For example, the debian-11 image family in the debian-cloud project always points to the most recent Debian 11 image.

Custom image families

If you regularly update your custom OS images with newer configurations and software, you can group those images into a custom image family. The image family always points to the most recent OS image in that family, so your instance templates and scripts can use that image without having to update references to a specific image version.

Also, because the image family never points to a deprecated image, you can roll the image family back to a previous OS image version by deprecating the most recent image in that family.

For more information, see Setting image versions in an image family.

For best practices recommendations when working with image families, see Image families best practices.

Community supported OS images

Community-supported OS images are not directly supported by Compute Engine. It is up to the project community to ensure that these OS images work with Compute Engine features and that security updates are maintained. Community-supported images are provided as-is by the project communities that build and maintain them.

AlmaLinux

AlmaLinux is a free operating system offered by the AlmaLinux project. AlmaLinux images are available in the almalinux-cloud project. To list AlmaLinux OS images, use the following gcloud command:

gcloud compute images list --project almalinux-cloud --no-standard-images

Fedora Cloud

Fedora Cloud is a free operating system maintained by the Fedora Cloud project. Fedora Cloud images are available in the fedora-cloud project. To list Fedora Cloud OS images, use the following gcloud command:

gcloud compute images list --project fedora-cloud --no-standard-images

FreeBSD

FreeBSD is a free operating system maintained by the FreeBSD project. FreeBSD images are available in the freebsd-org-cloud-dev project. To list FreeBSD OS images, use the following gcloud command:

gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images

gVNIC support for FreeBSD (Preview) is available with release 14.0 and later. To use gVNIC with other releases, the driver can be installed manually.

To create a VM that uses gVNIC with a FreeBSD release earlier than 14.0, you must create a custom OS image that supports gVNIC and then use that OS image when creating the VM.

openSUSE

openSUSE is a free Linux-based operating system sponsored by SUSE. openSUSE images are available in the opensuse-cloud project. To list openSUSE OS images, use the following gcloud command:

gcloud compute images list --project opensuse-cloud --no-standard-images

HPC OS images

The following OS images are available for creating VMs that are optimized to run high performance computing (HPC) workloads on Compute Engine:

For CentOS 7:

  • Image family: hpc-centos-7, Image project: cloud-hpc-image-public

For Rocky Linux 8:

  • Image family: hpc-rocky-linux-8, Image project: cloud-hpc-image-public

For information about using this OS image, see Creating an HPC-ready VM instance.

What's next

Try it for yourself

If you're new to Google Cloud, create an account to evaluate how Compute Engine performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.

Try Compute Engine free