Containers on Compute Engine | Compute Engine Documentation | Google CloudSoftware containers are a convenient way to run your apps in multiple isolated user-space instances. You can run containers on Linux or Windows Server public VM images, or on a Container-Optimized OS image. Containers let your apps run with fewer dependencies on the host virtual machine (VM) and run independently from other containerized apps that you deploy to the same VM instance.https://cloud.google.com/compute/docs/containersavailable imagesImages | Compute Engine Documentation | Google CloudUse operating system images to create boot disks for your instances. You can use one of the following image types: You can use most public images at no additional cost, but there are some premium images that do add additional cost to your instances.https://cloud.google.com/compute/docs/images#consolemultiple containersCreating and configuring instances | Container-Optimized OS | Google CloudThere are two ways to create and configure Compute Engine instances running Container-Optimized OS from Google. For simple scenarios where you want to run a single container on a VM or on each VM in a managed instance group, you can specify a container image and optional configuration parameters when you define the instance or instance template.https://cloud.google.com/container-optimized-os/docs/how-to/create-configure-instance#using_cloud-init_with_the_cloud_config_formatCloud config examples - cloud-init 22.1 documentationcloud-config # Add groups to the system # The following example adds the ubuntu group with members 'root' and 'sys' # and the empty group cloud-users. groups : - ubuntu : [ root , sys ] - cloud-users # Add users to the system. Users are added after groups are added.https://cloudinit.readthedocs.io/en/latest/topics/examples.htmlcommunicationNetworking in ComposeThis page applies to Compose file formats version 2 and higher. Networking features are not supported for Compose file version 1 (deprecated). By default Compose sets up a single network for your app. Each container for a service joins the default network and is both reachable by other containers on that network, and discoverable by them at a hostname identical to the container name.https://docs.docker.com/compose/networking/auth docker:enable Google Container Registry API firstAuthentication methods | Container Registry documentation | Google CloudThis page describes how to configure a third-party client to authenticate with Container Registry. Google Cloud services that integrate with Container Registry are preconfigured with permissions to access repositories in the same project. You do not need to configure authentication for these services, but you should verify that permissions are appropriately configured.https://cloud.google.com/container-registry/docs/advanced-authenticationpush imagePushing and pulling images | Container Registry documentation | Google CloudPushing (uploading) and pulling (downloading) images are two of the most common Container Registry tasks. This document focuses on pushing and pulling images with Docker. Note: Starting with GKE node version 1.19, the default node image for Linux nodes is the Container-Optimized OS with Containerd ( cos_containerd) variant instead of the Container-Optimized OS with Docker ( cos) variant.https://cloud.google.com/container-registry/docs/pushing-and-pulling