You can use the gcloud compute images import command to create a non-bootable Compute Engine image.
If your virtual disk does not have a bootable operating system installed on it, you can still import it using the --data-disk flag in place of the --os flag. This skips over the step that installs drivers and guest environment packages to make the image bootable on Compute Engine.
gcloud compute images import [IMAGE_NAME] \
--source-file [SOURCE_FILE] \
--data-disk
where:
-
[IMAGE_NAME] is the name of your destination image.
-
[SOURCE_FILE] is a virtual disk file. It can be a local file or a file stored in Cloud Storage. If your virtual disk is a local file, you can use an absolute or relative path. If your virtual disk file is already stored in Cloud Storage, the file must exist in a storage bucket in the project that is used for the import process, and you must specify the full path of the file in the gs://[BUCKET_NAME]/[OBJECT_NAME] format.
Sample command
The following example imports a virtual disk named your_disk.vmdk stored in gs://your_gcs_bucket.
gcloud compute images import my-imported-image \
--source-file gs://your_gcs_bucket/your_disk.vmdk \
--data-disk