📖 Scenario: You are working on a cloud project where you need a place to store your container images securely. AWS Elastic Container Registry (ECR) is a service that lets you store and manage Docker container images easily.Think of ECR as a private photo album but for your container images. You want to create this album, set some rules, and then upload your images to it.
🎯 Goal: Create an AWS ECR repository named my-app-repo to store container images. Configure it with basic settings to keep your images safe and ready for deployment.
📋 What You'll Learn
Create an ECR repository named my-app-repo
Set the repository to have image scanning on push enabled
Configure the repository to have a lifecycle policy to keep only the last 5 images
Add a tag to the repository with key Environment and value Development
💡 Why This Matters
🌍 Real World
ECR is widely used to store container images securely in AWS environments, enabling smooth deployment pipelines.
💼 Career
Knowing how to configure ECR repositories is essential for cloud engineers and DevOps professionals managing containerized applications.
Progress0 / 4 steps
1
Create the ECR repository resource
Write the AWS CloudFormation resource code to create an ECR repository named my-app-repo. Use the resource type AWS::ECR::Repository and set the RepositoryName property exactly to my-app-repo.
AWS
Hint
Use the Resources section and define a resource with Type as AWS::ECR::Repository. Set RepositoryName to my-app-repo.
2
Enable image scanning on push
Add the property ImageScanningConfiguration to the my-app-repo repository resource. Set ScanOnPush to true to enable automatic scanning of images when they are pushed.
AWS
Hint
Inside Properties, add ImageScanningConfiguration with ScanOnPush set to true.
3
Add lifecycle policy to keep last 5 images
Add the property LifecyclePolicy to the my-app-repo resource. Set LifecyclePolicyText to a JSON string that keeps only the last 5 images by tag count. Use the rule type expire with tagStatus set to any and countType set to tagCount with countNumber 5.
AWS
Hint
Use LifecyclePolicy with LifecyclePolicyText as a JSON string defining a rule to expire images keeping only the last 5.
4
Add a tag to the repository
Add the Tags property to the my-app-repo resource. Add a tag with Key set to Environment and Value set to Development.
AWS
Hint
Add the Tags property as a list with one tag having Key and Value as specified.
Practice
(1/5)
1. What is the primary purpose of AWS Elastic Container Registry (ECR)?
easy
A. To store and manage container images securely
B. To run containerized applications
C. To monitor AWS cloud resources
D. To provide virtual machines for deployment
Solution
Step 1: Understand ECR's role
AWS ECR is designed to store container images safely and manage them.
Step 2: Differentiate from other services
Running containers is done by ECS or EKS, not ECR. Monitoring and VMs are unrelated.
Final Answer:
To store and manage container images securely -> Option A
Quick Check:
ECR = Container image storage [OK]
Hint: ECR stores images, ECS/EKS run containers [OK]
Common Mistakes:
Confusing ECR with ECS or EKS
Thinking ECR runs containers
Assuming ECR monitors resources
2. Which AWS CLI command correctly creates a new ECR repository named my-app?
easy
A. aws ecr make-repo --repository my-app
B. aws ecr new-repository --name my-app
C. aws ecr create-repository --repository-name my-app
D. aws ecr init-repository --repo my-app
Solution
Step 1: Recall AWS CLI syntax for ECR
The correct command to create a repository is aws ecr create-repository --repository-name <name>.
Step 2: Check options for correctness
Options B, C, and D use invalid commands or flags not recognized by AWS CLI.
Final Answer:
aws ecr create-repository --repository-name my-app -> Option C