1. Overview
    1. Software containers are a convenient way to run apps in multiple isolated user-space instances
    2. Containers can run on Linux or Windows Server public VM images, or on a Container-Optimized OS image
    3. Containers enable apps to run with fewer dependencies on the host virtual machine and run independently from other containerized apps that deployed to the same virtual machine instance
    4. These characteristics make containerized apps more portable, easier to deploy, and easier to maintain at scale
    5. Run containers on Compute Engine for complete control over the container environment and container orchestration tools
    6. Use Google Kubernetes Engine to simplify cluster management and container orchestration tasks without the need to manage the underlying virtual machine instances
    7. Compute Engine instances can run almost any container technology or tool
    8. Several different types of containers can run on modern Linux operating systems
    9. Users can run Docker on Windows Server 2016 or later
    10. Docker and rkt are two popular container technologies for running containerized apps
    11. Kubernetes is a container orchestration platform used to manage and scale running containers across multiple instances or within a hybrid-cloud environment
    12. Containers on Compute Engine is an easy way to deploy containers to Compute Engine VM instances or managed instance groups
    13. Existing images can be converted into LXD images and run within Compute Engine virtual machine instances for a simple lift-and-shift migration solution
    14. LXD runs on Ubuntu images
    15. Container Registry can be used to manage container image versions
    16. Container Registry serves as a central location to store and manage container images before they are deployed to Kubernetes on Compute Engine or to Google Kubernetes Engine clusters
    17. Compute Engine provides several public VM images that can be used to create instances and run container workloads
    18. Some public VM images have a minimalistic container-optimized operating system that includes newer versions of Docker, rkt, or Kubernetes preinstalled