hands-on lab

Develop, Build and Deploy a Container Application on Google Compute Engine

Up to 1h
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


Recently, the popularity of containerized applications has been exploding. That is because containerizing an application offers a lot of advantages such as portability, the possibility to have multiple different containerized applications running simultaneously, and hardware platform independence. The most common and most used container engine is Docker. In this lab, you will create a Python application and you will create a Dockerfile that specifies how to build the Docker image. You will then containerize the application and create a Docker image that will be stored in the Container Registry. You will then deploy the Docker image on a Compute Engine instance that will run your container application. The Compute Engine instance runs a particular Google OS named container-optimized OS. It's been designed and developed by Google and it's the best choice if you want to run containers on your VM. If you want more information about this OS, follow this link.

Learning Objectives

Upon completion of this lab you will be able to:

  • Create an application and build a Docker image that represents it
  • Deploy a container application to a Google Compute Engine instance
  • Allow public traffic to the container application

Intended Audience

This lab is intended for:

  • Google Cloud Professional Cloud Developer (PCD) certification candidates
  • Individuals who want to improve their skills with container application deployment
  • Solutions architects who want to migrate their existing applications into containers


Basic knowledge of Docker is a plus but it is not required.

Environment before

Environment after

About the author

Learning paths

Stefano studies Computer Science and is passionate about technology. He loves working with Cloud services and learning all the best practices for them. Google Cloud Platform and Amazon Web Services are the cloud providers he prefers. He is a Google Cloud Certified Associate Cloud Engineer. Node.js is the programming language he always uses to code. When he's not involved in studying or working, Stefano loves riding his motorbike and exploring new places.

Covered topics

Lab steps

Signing In to the Google Cloud Console
Creating a Sample Python Application
Containerizing a Python Application using Cloud Build
Deploying a Containerized Application to a Compute Engine Instance
Allowing Traffic to the Application
Testing the Container Application Functionality