Chúng ta sẽ tạo 2 repositories khác nhau để chứa các Docker Image. Đầu tiên là tạo repository để lưu image cho frontend app.
fcjresbar-fe
.Tương tự, giờ thì chúng ta sẽ tạo cho Backend Image
Với các thông tin:
fcjresbar-be
.Chúng ta cần phải tạo mỗi một repository cho mỗi một ứng dụng khác nhau để quản lý version của các Docker image dễ dàng hơn, đặc biệt là dùng để thực hiện CI/CD sau này.
Theo mặc định (15/10/2024) thì AWS CLI không được cài đặt mặc định ở trong Ubuntu.
Trước tiên thì chúng ta cần phải tải unzip trước.
sudo apt install unzip
Sau đó thì chúng ta sẽ dùng các câu lệnh ở bên dưới để có thể cài đặt được AWS CLI.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Vào lại ECR Console
fcjresbar-fe
Khi đó một hộp thoại sẽ nhảy lên và chúng ta có thể thấy được một chuỗi các câu lệnh.
Trở lại với EC2 Instance, chúng ta cần phải dùng Root User để có thể đăng nhập vào trong ECR với Docker.
Ở AWS console của Push commands for fcjresbar-fe
Bởi vì khi mà người dùng sử dụng sudo để đăng nhập vào ECR với Docker, thì credential được lưu ở trong HOME Dir của người dùng đó. Nhưng khi thực hiện lệnh push hoặc pull, thì nó sẽ xem credential ở trong Root thay vì là ở trong HOME Dir đã được lưu khi đăng nhập trước đó.
Ở các phần trước đó thì chúng ta đã tạo ra các Images cho từng ứng dụng rồi, nên là giờ chỉ cần gắn tag lại cho phù hợp rồi đẩy lên trên các Registry tương ứng.
docker image ls
Ở AWS console của Push commands for fcjresbar-fe
Format chung <Account_ID>.dkr.ecr.<region>.amazonaws.com/<Repository_Name>:<Name_tag>
Sau khi tạo xong thì tiến hành đẩy Image lên ECR
Ở AWS console của Push commands for fcjresbar-fe
Tương tự, chúng ta cũng sẽ view push command của fcjresbar-be
, nhớ sao chép lại lệnh đăng nhập. Nhưng logout ra trước
Đăng nhập lại bằng lệnh đăng nhập đã sao chép
Tương tự, gắn tag phù hợp cho image
Đẩy image lên ECR
Nếu như thành công, thì vào trong ECR Console, vào lần lượt từng repositories thì chúng ta có thể thấy được kết quả ở trong này.