Saya mencoba untuk mendorong gambar buruh pelabuhan ke registri Amazon ECR. Saya menggunakan klien buruh pelabuhan Docker versi 1.9.1, build a34a1d5
. Saya menggunakan aws ecr get-login --region us-east-1
untuk mendapatkan kredibilitas login buruh pelabuhan. Kemudian saya berhasil masuk dengan kredit tersebut sebagai berikut:
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
Tetapi ketika saya mencoba untuk mendorong gambar saya, saya mendapatkan kesalahan berikut:
$ 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
Saya memastikan bahwa pengguna aws memiliki izin yang benar. Saya juga memastikan bahwa repositori memungkinkan pengguna untuk mendorongnya. Hanya untuk memastikan itu bukan masalah saya mengatur registri untuk memungkinkan semua pengguna akses penuh. Tidak ada yang mengubah "no basic auth credentials"
kesalahan. Saya tidak tahu bagaimana cara memulai debug ini karena semua lalu lintas dienkripsi.
MEMPERBARUI
Jadi saya memiliki sedikit momen Homer Simpson D'Oh ketika saya menyadari akar penyebab masalah saya. Saya memiliki akses ke beberapa akun AWS. Meskipun saya menggunakan aws configure
untuk mengatur kredensial saya untuk akun di mana saya telah menyiapkan repositori saya aws cli sebenarnya menggunakan variabel lingkungan AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
. Jadi ketika saya melakukannya aws ecr get-login
itu mengembalikan login untuk akun yang salah. Saya gagal memperhatikan bahwa nomor akun berbeda hingga saya baru kembali sekarang untuk mencoba beberapa jawaban yang diajukan. Ketika saya menghapus variabel lingkungan semuanya berfungsi dengan benar. Saya kira moto ceritanya adalah jika Anda menekan kesalahan ini, pastikan bahwa repositori yang Anda masuki cocok dengan tag yang telah Anda terapkan pada gambar.