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
.
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 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 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