Trong một số trường hợp, chạy lệnh Docker với Amazon ECR có thể dẫn đến thông báo lỗi. Một số thông báo lỗi phổ biến và giải pháp tiềm năng được giải thích bên dưới Bạn có thể gặp lỗi Một số lý do có thể và giải thích của họ được đưa ra dưới đây Đĩa cục bộ đã đầy Nếu đĩa cục bộ mà bạn đang chạy docker pull trên đó đã đầy, thì hàm băm SHA-1 được tính trên tệp cục bộ có thể khác với giá trị được tính bởi Amazon ECR. Kiểm tra xem đĩa cục bộ của bạn có đủ dung lượng trống còn lại để lưu trữ hình ảnh Docker mà bạn đang kéo không. Bạn cũng có thể xóa hình ảnh cũ để nhường chỗ cho hình ảnh mới. Sử dụng lệnh hình ảnh docker để xem danh sách tất cả các hình ảnh Docker được tải xuống cục bộ, cùng với kích thước của chúng Khách hàng không thể kết nối với kho lưu trữ từ xa do lỗi mạngLệnh gọi tới kho lưu trữ Amazon ECR yêu cầu phải có kết nối Internet đang hoạt động. Xác minh cài đặt mạng của bạn và xác minh rằng các công cụ và ứng dụng khác có thể truy cập tài nguyên trên internet. Nếu bạn đang chạy docker pull trên một phiên bản Amazon EC2 trong một mạng con riêng tư, hãy xác minh rằng mạng con đó có một tuyến đến internet. Sử dụng máy chủ dịch địa chỉ mạng (NAT) hoặc cổng NAT được quản lý Hiện tại, các lệnh gọi tới kho lưu trữ Amazon ECR cũng yêu cầu quyền truy cập mạng thông qua tường lửa công ty của bạn tới Amazon Simple Storage Service (Amazon S3). Nếu tổ chức của bạn sử dụng phần mềm tường lửa hoặc thiết bị NAT cho phép điểm cuối dịch vụ, hãy đảm bảo rằng điểm cuối dịch vụ Amazon S3 cho Khu vực hiện tại của bạn được cho phép Nếu bạn đang sử dụng Docker phía sau proxy HTTP, bạn có thể định cấu hình Docker bằng cài đặt proxy thích hợp. Để biết thêm thông tin, xem trong tài liệu Docker Bạn có thể gặp lỗi
Lỗi này cho biết rằng một hoặc nhiều lớp cho hình ảnh của bạn không tải xuống được. Một số lý do có thể và giải thích của họ được đưa ra dưới đây Bạn đang sử dụng phiên bản Docker cũ hơn Lỗi này có thể xảy ra trong một tỷ lệ nhỏ trường hợp khi sử dụng phiên bản Docker nhỏ hơn 1. 10. Nâng cấp máy khách Docker của bạn lên 1. 10 hoặc cao hơn Máy khách của bạn đã gặp phải lỗi mạng hoặc đĩaỔ đĩa đầy hoặc sự cố mạng có thể ngăn không cho một hoặc nhiều lớp tải xuống, như đã thảo luận trước đó về thông báo Lỗi khi kéo bằng quy tắc kéo qua bộ đệmKhi kéo hình ảnh ngược dòng bằng quy tắc kéo qua bộ đệm, sau đây là các lỗi phổ biến nhất mà bạn có thể gặp phải Kho lưu trữ không tồn tại Lỗi cho biết kho lưu trữ không tồn tại thường xảy ra nhất do kho lưu trữ không tồn tại trong sổ đăng ký riêng Amazon ECR của bạn hoặc quyền Sau đây là một ví dụ về lỗi này Không tìm thấy hình ảnh được yêu cầuLỗi cho biết không thể tìm thấy hình ảnh thường xảy ra nhất do hình ảnh không tồn tại trong sổ đăng ký ngược dòng hoặc quyền Sau đây là một ví dụ về lỗi này
Lỗi HTTP 403 hoặc lỗi "không có thông tin xác thực cơ bản" khi đẩy lên kho lưu trữĐôi khi bạn có thể nhận được lỗi 0 hoặc thông báo lỗi 1 từ lệnh docker push hoặc docker pull, ngay cả khi bạn đã xác thực thành công với Docker bằng lệnh aws ecr get-login-password. Sau đây là một số nguyên nhân đã biết của vấn đề nàyBạn đã xác thực cho một khu vực khác Yêu cầu xác thực được liên kết với các khu vực cụ thể và không thể được sử dụng giữa các khu vực. Ví dụ: nếu bạn nhận được mã thông báo ủy quyền từ Miền Tây Hoa Kỳ (Oregon), bạn không thể sử dụng nó để xác thực với các kho lưu trữ của mình ở Miền Đông Hoa Kỳ (N. Virginia). Để giải quyết vấn đề, hãy đảm bảo rằng bạn đã truy xuất mã thông báo xác thực từ cùng Khu vực mà kho lưu trữ của bạn tồn tại. Để biết thêm thông tin, hãy xem Xác thực sổ đăng ký riêng tư Bạn đã xác thực để đẩy tới kho lưu trữ mà bạn không có quyền đối vớiBạn không có quyền cần thiết để đẩy vào kho lưu trữ. Để biết thêm thông tin, hãy xem Chính sách kho lưu trữ riêng Mã thông báo của bạn đã hết hạnThời gian hết hạn mã thông báo ủy quyền mặc định đối với mã thông báo thu được bằng cách sử dụng hoạt động 2 là 12 giờLỗi trong trình quản lý thông tin đăng nhập 3Một số phiên bản Docker dành cho Windows sử dụng trình quản lý thông tin đăng nhập có tên là 3, không xử lý đúng cách lệnh đăng nhập Docker do aws ecr get-login-password tạo ra (để biết thêm thông tin, hãy xem https. //github. com/docker/docker/issues/22910). Bạn có thể chạy lệnh đăng nhập Docker được xuất ra, nhưng khi bạn cố gắng đẩy hoặc kéo hình ảnh, các lệnh đó không thành công. Bạn có thể khắc phục lỗi này bằng cách xóa lược đồ 5 khỏi đối số sổ đăng ký trong lệnh đăng nhập Docker được xuất ra từ aws ecr get-login-password. Một lệnh đăng nhập Docker ví dụ không có lược đồ HTTPS được hiển thị bên dưới |