আমি একটি ডোকর চিত্রটি একটি অ্যামাজন ইসিআর রেজিস্ট্রিতে ঠেলে দেওয়ার চেষ্টা করছি। আমি ডকার ক্লায়েন্ট ডকার সংস্করণ 1.9.1, বিল্ড ব্যবহার করছি a34a1d5
। আমি aws ecr get-login --region us-east-1
ডকার লগইন ক্রেডিট পেতে ব্যবহার করি । তারপরে আমি সেই ক্রেডিটগুলির সাথে সফলভাবে লগইন করেছি:
docker login -u AWS -p XXXX -e none https://####.dkr.ecr.us-east-1.amazonaws.com
WARNING: login credentials saved in /Users/ar/.docker/config.json
Login Succeeded
তবে আমি যখন আমার চিত্রটি ঠেলে দেওয়ার চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:
$ docker push ####.dkr.ecr.us-east-1.amazonaws.com/image:latest
The push refers to a repository [####.dkr.ecr.us-east-1.amazonaws.com/image] (len: 1)
bcff5e7e3c7c: Preparing
Post https://####.dkr.ecr.us-east-1.amazonaws.com/v2/image/blobs/uploads/: no basic auth credentials
আমি নিশ্চিত হয়েছি যে আউস ব্যবহারকারীটির সঠিক অনুমতি ছিল। আমি এটিও নিশ্চিত করেছিলাম যে ভান্ডারগুলি সেই ব্যবহারকারীকে এটির দিকে চাপ দিতে দেয়। কেবল এটি নিশ্চিত করার জন্য যে সমস্ত ব্যবহারকারীকে সম্পূর্ণ অ্যাক্সেসের অনুমতি দেওয়ার জন্য আমি রেজিস্ট্রি সেট করেছি। কিছুই "no basic auth credentials"
ত্রুটি পরিবর্তন করে না । সমস্ত ট্র্যাফিক এনক্রিপ্ট করা হওয়ায় এটি কীভাবে ডিবাগ করা শুরু করবেন তা আমি জানি না।
হালনাগাদ
সুতরাং আমি যখন আমার সমস্যার মূল কারণটি উপলব্ধি করলাম তখন আমার কিছুটা হোমার সিম্পসন ডি'ও হয়েছে। আমার একাধিক AWS অ্যাকাউন্টে অ্যাক্সেস রয়েছে। যদিও আমি ব্যবহার করছিলেন aws configure
অ্যাকাউন্ট যেখানে আমি সেটআপ আমার সংগ্রহস্থলের ছিল আওস CLI আসলে এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করছিলেন জন্য আমার পরিচয়পত্র সেট করতে AWS_ACCESS_KEY_ID
এবং AWS_SECRET_ACCESS_KEY
। সুতরাং যখন আমি aws ecr get-login
এটি করছিলাম ভুল অ্যাকাউন্টের জন্য একটি লগইন ফিরে। প্রস্তাবিত উত্তরগুলির কয়েকটি চেষ্টা করতে এখনই ফিরে না যাওয়া পর্যন্ত অ্যাকাউন্ট নম্বরগুলি আলাদা ছিল তা আমি লক্ষ্য করতে ব্যর্থ হয়েছি। আমি যখন পরিবেশের ভেরিয়েবলগুলি সরিয়ে ফেলি তখন সবকিছু সঠিকভাবে কাজ করে। আমার ধারণা, গল্পটির মূলমন্ত্রটি হল আপনি যদি এই ত্রুটিটি আঘাত করেন তবে নিশ্চিত হয়ে নিন যে আপনি যে ভাণ্ডারে লগইন করছেন সেটিকে আপনি চিত্রটিতে প্রয়োগ করা ট্যাগটির সাথে মেলে।