Bird
Raised Fist0
GCPcloud~15 mins

Deploying container images in GCP - Mini Project: Build & Apply

Choose your learning style10 modes available
Deploying container images
📖 Scenario: You work at a small company that wants to deploy a simple web application using containers on Google Cloud Platform (GCP). You will learn how to prepare and deploy a container image to Google Cloud Run, a service that runs containers without managing servers.
🎯 Goal: Build a basic deployment configuration to run a container image on Google Cloud Run.
📋 What You'll Learn
Create a variable with the container image URL
Set a variable for the service name
Write the command to deploy the container image to Cloud Run
Add the region flag to the deployment command
💡 Why This Matters
🌍 Real World
Deploying container images to Cloud Run is a common task for running scalable web applications without managing servers.
💼 Career
Cloud engineers and developers often need to deploy containerized applications quickly and reliably using command-line tools like gcloud.
Progress0 / 4 steps
1
Set the container image URL
Create a variable called container_image and set it to the exact string gcr.io/cloudrun/hello which is the container image URL.
GCP
Hint

Use a string variable to hold the container image URL exactly as shown.

2
Set the Cloud Run service name
Create a variable called service_name and set it to the exact string hello-service which will be the name of your Cloud Run service.
GCP
Hint

Use a string variable to hold the service name exactly as shown.

3
Write the deployment command
Write a variable called deploy_command that contains the exact string gcloud run deploy hello-service --image gcr.io/cloudrun/hello to deploy the container image to Cloud Run.
GCP
Hint

Use a string variable to hold the full deployment command exactly as shown.

4
Add the region flag to the deployment command
Update the deploy_command variable to include the region flag --region us-central1 at the end, so the full command is gcloud run deploy hello-service --image gcr.io/cloudrun/hello --region us-central1.
GCP
Hint

Append the region flag to the existing deployment command string exactly as shown.

Practice

(1/5)
1. What is the main purpose of deploying a container image on Google Cloud Run?
easy
A. To run applications without managing servers
B. To create virtual machines manually
C. To store data in a database
D. To write code directly in the cloud console

Solution

  1. Step 1: Understand what Cloud Run does

    Cloud Run runs containerized apps without needing you to manage servers.
  2. Step 2: Compare options to Cloud Run's purpose

    Options B, C, and D describe other cloud tasks, not Cloud Run's main use.
  3. Final Answer:

    To run applications without managing servers -> Option A
  4. Quick Check:

    Cloud Run = serverless app running [OK]
Hint: Cloud Run runs apps without servers [OK]
Common Mistakes:
  • Confusing Cloud Run with VM creation
  • Thinking Cloud Run stores data
  • Assuming Cloud Run is a coding environment
2. Which command correctly deploys a container image to Cloud Run in the us-central1 region?
easy
A. gcloud deploy run myapp --image=gcr.io/myproject/myimage --zone=us-central1
B. gcloud run deploy myapp --image=gcr.io/myproject/myimage --region=us-central1
C. gcloud run create myapp --image=gcr.io/myproject/myimage --zone=us-central1
D. gcloud run deploy --image=myimage gcr.io/myproject --region=us-central1

Solution

  1. Step 1: Identify correct gcloud command syntax

    The correct command is 'gcloud run deploy' followed by service name, image, and region.
  2. Step 2: Check each option for syntax errors

    gcloud run deploy myapp --image=gcr.io/myproject/myimage --region=us-central1 matches correct syntax. Options B, C, and D have wrong commands or argument order.
  3. Final Answer:

    gcloud run deploy myapp --image=gcr.io/myproject/myimage --region=us-central1 -> Option B
  4. Quick Check:

    Correct deploy syntax = gcloud run deploy myapp --image=gcr.io/myproject/myimage --region=us-central1 [OK]
Hint: Use 'gcloud run deploy' with --image and --region [OK]
Common Mistakes:
  • Using 'gcloud deploy run' instead of 'gcloud run deploy'
  • Confusing --zone with --region
  • Incorrect argument order
3. Given this command:
gcloud run deploy myservice --image=gcr.io/myproj/app:v1 --region=us-east1
What happens after running it?
medium
A. The container image is deployed as a Cloud Run service named 'myservice' in us-east1 region
B. A virtual machine named 'myservice' is created in us-east1
C. The image is uploaded to Google Container Registry only
D. The command fails because region must be us-central1

Solution

  1. Step 1: Understand the deploy command effect

    The command deploys the container image as a Cloud Run service with the given name and region.
  2. Step 2: Evaluate other options

    B is wrong because no VM is created. C is wrong because deployment runs the image, not just upload. A is wrong because us-east1 is a valid region.
  3. Final Answer:

    The container image is deployed as a Cloud Run service named 'myservice' in us-east1 region -> Option A
  4. Quick Check:

    Deploy command = service deployment [OK]
Hint: Deploy runs container as service, not VM or just upload [OK]
Common Mistakes:
  • Thinking deploy creates VM
  • Confusing upload with deploy
  • Assuming region must be us-central1
4. You run:
gcloud run deploy --image=gcr.io/myproj/app:v2 --region=us-west1
But get an error: "Service name is required." What is the fix?
medium
A. Remove the --region flag
B. Change --image to --container-image
C. Add the service name after 'deploy', e.g., 'gcloud run deploy myservice ...'
D. Run the command without 'gcloud run'

Solution

  1. Step 1: Identify missing required argument

    The error says service name is missing; the deploy command needs a service name after 'deploy'.
  2. Step 2: Fix the command by adding service name

    Add the service name, e.g., 'myservice', after 'deploy' to fix the error.
  3. Final Answer:

    Add the service name after 'deploy', e.g., 'gcloud run deploy myservice ...' -> Option C
  4. Quick Check:

    Deploy needs service name [OK]
Hint: Always specify service name after 'deploy' [OK]
Common Mistakes:
  • Omitting service name
  • Changing unrelated flags
  • Removing required command parts
5. You want to deploy a new version of your app container image to Cloud Run and keep the same service URL. Which command should you use?
hard
A. gcloud container deploy myapp --image=gcr.io/myproj/app:v2
B. gcloud run create myapp --image=gcr.io/myproj/app:v2 --region=us-central1
C. gcloud run deploy --image=gcr.io/myproj/app:v2 --region=us-central1
D. gcloud run deploy myapp --image=gcr.io/myproj/app:v2 --region=us-central1

Solution

  1. Step 1: Understand updating a Cloud Run service

    To update an existing service and keep its URL, use 'gcloud run deploy' with the same service name.
  2. Step 2: Check options for correct update command

    gcloud run deploy myapp --image=gcr.io/myproj/app:v2 --region=us-central1 uses 'deploy' with service name and new image, which updates the service. Options A, B, and D are incorrect commands or missing service name.
  3. Final Answer:

    gcloud run deploy myapp --image=gcr.io/myproj/app:v2 --region=us-central1 -> Option D
  4. Quick Check:

    Deploy with same service name updates app [OK]
Hint: Use 'deploy' with same service name to update [OK]
Common Mistakes:
  • Using 'create' instead of 'deploy' to update
  • Omitting service name
  • Using wrong gcloud commands
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard