How to Install and Configure AWS CLI on Ubuntu or WSL (Step-by-Step Guide)

How to Install and Configure AWS CLI on Ubuntu or WSL (Step-by-Step Guide)

AI Reading

Quick summary of this article

This article explains how to install and configure the AWS Command Line Interface (CLI) on Ubuntu or Windows Subsystem for Linux (WSL), and then use it to push a Python Docker image to AWS Elastic Container Registry (ECR) for cloud deployment.

  • Install AWS CLI by running sudo apt update followed by sudo apt install awscli -y, then verify with aws --version.
  • Configure AWS CLI using aws configure and enter your Access Key ID, Secret Access Key, default region (e.g., ap-south-1), and output format (json).
  • Create a private repository in AWS ECR via the AWS Console, name it (e.g., python-hello), and copy the ECR URI after creation.
  • Authenticate Docker with ECR using aws ecr get-login-password piped into docker login, then tag your local image with the ECR URI and push it using docker push.
  • Verify the pushed image in the AWS Console under Elastic Container Registry; optionally pull and run the image locally to test it.

🚀 Push Your Python Docker Image to AWS ECR (Elastic Container Registry)

In this tutorial, you’ll learn how to upload your Python Docker image to AWS Elastic Container Registry (ECR)
a fully managed Docker image repository by Amazon Web Services.
This is the final step before deploying your app to EC2, ECS, or any cloud service. 🌍

🪜 Step 1: Install AWS CLI

First, ensure you have the AWS CLI installed in your Ubuntu/WSL terminal.


sudo apt update
sudo apt install awscli -y
  

Once installed, verify it:


aws --version
  

🪜 Step 2: Configure AWS CLI

Now configure your AWS account credentials:


aws configure
  

When prompted, enter:


AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: ap-south-1
Default output format [None]: json
  

🔑 You can find your Access Key ID and Secret Key
under IAM → Users → Security Credentials in your AWS Console.

🪜 Step 3: Create a Repository in AWS ECR

Go to your AWS Management Console → Elastic Container RegistryRepositories.

  • Click on Create Repository.
  • Repository name: python-hello
  • Visibility: Private
  • Region: ap-south-1
  • Click Create.

After creation, copy your ECR URI — it looks like:


807650717461.dkr.ecr.ap-south-1.amazonaws.com/python-hello
  

🪜 Step 4: Authenticate Docker with AWS ECR

Run this command to log Docker into ECR:


aws ecr get-login-password --region ap-south-1 | \
docker login --username AWS --password-stdin 807650717461.dkr.ecr.ap-south-1.amazonaws.com
  

✅ You should see:


Login Succeeded
  

🪜 Step 5: Tag Your Local Docker Image

Now tag your existing image (from the previous post) with the ECR repo name:


docker tag python-hello:latest 807650717461.dkr.ecr.ap-south-1.amazonaws.com/python-hello:latest
  

🪜 Step 6: Push Your Image to AWS ECR

Now push it to the ECR repository:


docker push 807650717461.dkr.ecr.ap-south-1.amazonaws.com/python-hello:latest
  

It will take a few moments to upload depending on your internet speed.
Once complete, you’ll see your image in the AWS Console under your repository.

🪜 Step 7: Verify in AWS Console

  • Open AWS Console → Elastic Container Registry → Repositories
  • Click on python-hello
  • You’ll see your image tagged as latest

🎉 That’s it! Your Docker image is now securely stored in AWS ECR.

🧩 Step 8 (Optional): Run Image from ECR

If you want to test the pulled image:


docker pull 807650717461.dkr.ecr.ap-south-1.amazonaws.com/python-hello:latest
docker run -d -p 8000:8000 807650717461.dkr.ecr.ap-south-1.amazonaws.com/python-hello:latest
  

Now visit:


👉 http://localhost:8000
  

You’ll again see: Hello World from Docker + Python!

🎯 Summary

You’ve now learned how to build, tag, and push a Docker image to AWS ECR.
This is a crucial step before deploying your app on AWS ECS or EC2.
In the next post, we’ll cover Deploying your ECR image to AWS ECS (Elastic Container Service).

📚 Next Learning Path

  • ✅ Install Docker inside WSL
  • ✅ Build & Run Python Apps with Docker
  • ✅ Push Docker Image to AWS ECR (You’re here!)
  • 🚀 Deploy Docker Container to AWS ECS

Leave a Reply

Your email address will not be published. Required fields are marked *