Sử dụng ECR

Tạo ECR Repository cho Frontend Image

  1. Tìm kiếm Elastic Container Registry. Chọn Create

8.1.1.png

  1. Đầu tiên, tạo repository để lưu trữ image cho frontend app. Ở thanh bên trái, chọn Repository sau đó chọn Create repository

8.1.2.png

  • Repository name: fcajresbar-fe.

  • Image tag mutability: chọn Mutable.

  • Encryption configuration: giữ mặc định.

  • Nhấn Create để tạo

8.1.2.png 8.1.3.png

  1. Image cho frontend app đã được tạo thành công.

8.1.4.png

Tạo ECR Repository cho Backend Image

Tương tự, tiến hành tạo cho Backend Image với thông tin sau:

  • Repository name: fcajresbar-be.

  • Image tag mutability: chọn Mutable.

  • Encryption configuration: giữ mặc định.

  • Nhấn Create để tạo

8.1.5.png 8.1.5.png 8.1.5.png

Chúng ta cần tạo mỗi repository riêng cho từng ứng dụng để dễ dàng quản lý version của Docker images, đặc biệt phục vụ cho việc triển khai CI/CD sau này.

Cài đặt AWS CLI

  1. Trước tiên cần cài đặt unzip.
sudo apt install unzip

8.1.8.png

  1. Sau đó sử dụng các lệnh dưới đây để cài đặt AWS CLI.
sudo curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo unzip awscliv2.zip
sudo ./aws/install

8.1.8.png

  1. Sau khi cài đặt, kiểm tra version để xác nhận AWS CLI đã được cài thành công.
aws --version

8.1.8.png

Push Frontend Image lên ECR (Push Frontend Image to ECR)

  1. Truy cập lại ECR Console
  • Chọn fcajresbar-fe
  • Nhấn View push commands

8.1.13.png

  1. Một hộp thoại sẽ xuất hiện và hiển thị danh sách các lệnh.

8.1/14.png

  1. Quay lại EC2 Instance, cần sử dụng Root User để có thể đăng nhập vào ECR với Docker.

Khi dùng sudo để đăng nhập ECR với Docker, credential sẽ được lưu trong HOME Dir của user đó. Tuy nhiên khi thực hiện push hoặc pull, hệ thống sẽ kiểm tra credential ở Root thay vì HOME Dir trước đó.

  1. Trong AWS Console phần push commands của fcajresbar-fe, chạy lệnh sau để xác thực và đăng nhập vào Amazon ECR từ môi trường Docker cục bộ. Trước khi thực hiện, đảm bảo đã cấu hình AWS CLI default profile

8.1/15.png

  1. Liệt kê tất cả Docker images hiện có trên máy
docker image ls

8.1/15.png

  1. Trong AWS console phần push commands của fcajresbar-fe:
  • Chạy the first command để lấy authentication token và xác thực Docker client với registry thông qua AWS CLI

8.1/16.png

  • Có thể bỏ qua the second command vì image frontend đã được build

  • Chạy lệnh thứ ba để gắn tag cho image. Thay thế placeholder bằng tên image đã tạo:

docker tag <source_image>: <account_id>.dkr.ecr..amazonaws.com/<repository_name>:

8.1/16.png

  • Chạy the fourth command để push image lên repository AWS vừa tạo

8.1/16.png

Push Backend Image lên ECR (Push Backend Image to ECR)

  1. Tương tự, xem push command của fcajresbar-be, nhớ copy lệnh login.

8.1/18.png

  1. Copy và chạy lại lệnh login (lệnh đầu tiên) để đảm bảo session còn hiệu lực.

8.1/19/png

Gắn tag phù hợp cho backend image theo định dạng:

docker tag <source_image>: <account_id>.dkr.ecr..amazonaws.com/<repository_name>:

8.1/20.png

  1. Cuối cùng, chạy lệnh push để upload backend image lên ECR.

8.1/21.png

Kiểm tra kết quả (Check the result)

Nếu thành công, vào ECR Console, truy cập lần lượt từng repository để xem kết quả.

8.1/22.png 8.1/23.png