Stay organized with collections
Save and categorize content based on your preferences.
Container-Optimized OS from Google is an operating system image for your
Compute Engine VMs that is optimized for running containers.
Container-Optimized OS is maintained by Google and based on the open source
Chromium OS project. With Container-Optimized OS, you can bring up your
containers on Google Cloud Platform quickly, efficiently, and securely.
Features and Benefits
Container-Optimized OS provides the following benefits:
Run Containers Out of the Box: Container-Optimized OS instances come
pre-installed with the Docker and containerd runtimes and cloud-init. With a
Container-Optimized OS instance, you can bring up your container at the
same time you create your VM, with no on-host setup required.
Smaller attack surface: Container-Optimized OS has a smaller footprint,
reducing your instance's potential attack surface.
Locked-down by default: Container-Optimized OS instances include a
locked-down firewall and other security settings by default.
Automatic Updates: Container-Optimized OS instances are configured to
automatically download weekly updates in the background; only a reboot is
necessary to use the latest updates.
Limitations
Container-Optimized OS has limited or no support for some of the common
features you may be familiar with on other operating systems:
Container-Optimized OS does not include a package manager; as such, you'll
be unable to install software packages directly on an instance. However, you
can use CoreOS toolbox to install and run debugging and admin tools in an
isolated container.
Container-Optimized OS does not support execution of non-containerized
applications.
The Container-Optimized OS kernel is locked down; you'll be unable to
install third-party kernel modules or drivers.
Container-Optimized OS is not supported outside of the Google Cloud Platform
environment.
Using Container-Optimized OS
Container-Optimized OS is the default node OS Image in Kubernetes Engine and
other Kubernetes deployments on Google Cloud Platform. See the Kubernetes
Engine Quickstart for more information on using Container-Optimized OS with
Kubernetes Engine.
You can also use Container-Optimized OS to quickly bring up a container
on a Compute Engine instance with minimal setup. For more information, see
Creating and Configuring Instances.
You can run tools like ping, the Google Cloud CLI, pstree, htop,
emacs and more using the CoreOS toolbox utility, which is pre-installed in
Container-Optimized OS at /usr/bin/toolbox. See Debugging with toolbox for
more information.
Use cases for Container-Optimized OS
Container-Optimized OS can be used to run most containers. You should
consider using Container-Optimized OS as the operating system for your
Compute Engine instance if you have the following needs:
You need support for containers or Kubernetes with minimal setup.
You need an operating system that has a small footprint and is security
hardened for containers.
You need an operating system that is tested and verified for running
Kubernetes on your Compute Engine instances.
Container-Optimized OS may not be the right choice for you in the following
cases:
Your application is not containerized or your containerized application
depends on kernel modules, drivers and other additional packages that
are not available in Container-Optimized OS.
You need professional customer support from a Linux provider (Canonical,
Core OS, Redhat, SUSE, etc).
You want your image and OS application to be fully supported outside
Google Cloud.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eContainer-Optimized OS is a Google-maintained operating system image for Compute Engine VMs, specifically designed for running containers efficiently and securely.\u003c/p\u003e\n"],["\u003cp\u003eThis OS comes pre-installed with Docker, containerd runtimes, and \u003ccode\u003ecloud-init\u003c/code\u003e, allowing users to deploy containers concurrently with VM creation, without needing additional on-host configurations.\u003c/p\u003e\n"],["\u003cp\u003eContainer-Optimized OS is security-focused, featuring a smaller attack surface, a locked-down firewall, and weekly automatic background updates.\u003c/p\u003e\n"],["\u003cp\u003eWhile optimized for containers and Kubernetes, Container-Optimized OS has limitations, including the absence of a package manager, no support for non-containerized applications, and the inability to install third-party kernel modules.\u003c/p\u003e\n"],["\u003cp\u003eContainer-Optimized OS is the default OS for Kubernetes Engine and other deployments on the Google Cloud platform, but may not be suitable for applications that require custom kernel modules, non-containerized applications, or professional Linux provider support.\u003c/p\u003e\n"]]],[],null,["# Container-Optimized OS Overview\n\nContainer-Optimized OS from Google is an operating system image for your\n[Compute Engine](/compute) VMs that is optimized for running containers.\nContainer-Optimized OS is maintained by Google and based on the open source\nChromium OS project. With Container-Optimized OS, you can bring up your\ncontainers on Google Cloud Platform quickly, efficiently, and securely.\n\nFeatures and Benefits\n---------------------\n\nContainer-Optimized OS provides the following benefits:\n\n- **Run Containers Out of the Box** : Container-Optimized OS instances come pre-installed with the Docker and containerd runtimes and `cloud-init`. With a Container-Optimized OS instance, you can bring up your container at the same time you create your VM, with no on-host setup required.\n- **Smaller attack surface**: Container-Optimized OS has a smaller footprint, reducing your instance's potential attack surface.\n- **Locked-down by default**: Container-Optimized OS instances include a locked-down firewall and other security settings by default.\n- **Automatic Updates**: Container-Optimized OS instances are configured to automatically download weekly updates in the background; only a reboot is necessary to use the latest updates.\n\nLimitations\n-----------\n\nContainer-Optimized OS has limited or no support for some of the common\nfeatures you may be familiar with on other operating systems:\n\n- Container-Optimized OS does not include a package manager; as such, you'll be unable to install software packages directly on an instance. However, you can use [CoreOS toolbox](/container-optimized-os/docs/how-to/toolbox) to install and run debugging and admin tools in an isolated container.\n- Container-Optimized OS does not support execution of non-containerized applications.\n- The Container-Optimized OS kernel is locked down; you'll be unable to install third-party kernel modules or drivers.\n- Container-Optimized OS is not supported outside of the Google Cloud Platform environment.\n\nUsing Container-Optimized OS\n----------------------------\n\nContainer-Optimized OS is the default node OS Image in [Kubernetes Engine](/kubernetes-engine) and\nother [Kubernetes](https://kubernetes.io/) deployments on Google Cloud Platform. See the [Kubernetes\nEngine Quickstart](/kubernetes-engine/docs/deploy-app-cluster) for more information on using Container-Optimized OS with\nKubernetes Engine.\n\nYou can also use Container-Optimized OS to quickly bring up a container\non a Compute Engine instance with minimal setup. For more information, see\n[Creating and Configuring Instances](/container-optimized-os/docs/how-to/create-configure-instance).\n\nYou can run tools like `ping`, the Google Cloud CLI, `pstree`, `htop`,\n`emacs` and more using the [CoreOS toolbox](/container-optimized-os/docs/how-to/toolbox) utility, which is pre-installed in\nContainer-Optimized OS at `/usr/bin/toolbox`. See [Debugging with toolbox](/container-optimized-os/docs/how-to/toolbox) for\nmore information.\n\nUse cases for Container-Optimized OS\n------------------------------------\n\nContainer-Optimized OS can be used to run most containers. You should\nconsider using Container-Optimized OS as the operating system for your\nCompute Engine instance if you have the following needs:\n\n- You need support for containers or Kubernetes with minimal setup.\n- You need an operating system that has a small footprint and is [security\n hardened](/container-optimized-os/docs/concepts/security) for containers.\n- You need an operating system that is tested and verified for running Kubernetes on your Compute Engine instances.\n\nContainer-Optimized OS may not be the right choice for you in the following\ncases:\n\n- Your application is not containerized or your containerized application depends on kernel modules, drivers and other additional packages that are not available in Container-Optimized OS.\n- You need professional customer support from a Linux provider (Canonical, Core OS, Redhat, SUSE, etc).\n- You want your image and OS application to be fully supported outside Google Cloud.\n\nSee [Containers on Google Cloud](/compute/docs/containers) to learn about\nother operating systems you can use to\nrun containerized applications on Google Cloud. Compute Engine\n[provides images](/compute/docs/images) for other popular operating systems, including images that are\n[optimized for containers](/compute/docs/containers#container_images)."]]