не может отправить изображение в ECR, даже если авторизовался в докере и был успешно

При попытке отправить изображение в ECR я всегда получаю ошибку «нет базовой аутентификации». ECR находится в us-east-1.

Это команда входа в систему

aws ecr get-login --region us-east-1 --no-include-email

Я получаю такой ответ

docker login -u AWS -p eyJwYXl ... 

Я копирую этот ответ и запускаю команду, после чего получил этот ответ

Login Succeeded

Я предполагаю, что я успешно вошел в AWS и докер, поэтому я пытаюсь отправить изображение в ECR.

docker push AWSID.dkr.ecr.us-east-1.amazonaws.com/repositoryname

Тогда ответ такой

ed9f73170eb1: Preparing
f26c0d1885c7: Preparing
254cc70ba305: Preparing
6bfcbc08ecad: Preparing
0cb1addb8efc: Preparing
f9109426e338: Waiting
b7f99d06d826: Waiting
24d803cb9c1a: Waiting
25c4f6422338: Preparing
69b416623121: Waiting
0753f0746a0d: Waiting
a20143cd0986: Waiting
3028f693c3e6: Waiting
514a0f74b55d: Waiting
no basic auth credentials

Чтобы выяснить, что вызывает ошибку, я проверил ~/.docker/config.json. мой config.json такой.

{
"auths": {
    "AWSPATH.dkr.ecr.us-east-1.amazonaws.com": {
        "auth": "QVd..},
    "https://index.docker.io/v1/": {}
       },
"HttpHeaders": {
    "User-Agent": "Docker-Client/19.03.5 (darwin)"
}

person Community    schedule 13.12.2019    source источник
comment
вы должны увидеть имя пользователя и пароль в своем config.json, если вход действительно выполнен успешно   -  person LinPy    schedule 13.12.2019


Ответы (3)


Похоже, это проблема с аутентификацией. Перенастройте AWS-CLI, возможно, это решит вашу проблему.

aws configure

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

person Abhishek Kumar    schedule 13.12.2019
comment
если OP может запустить aws ecr get-login --region us-east-1 --no-include-email и получить токен входа, как это может быть проблемой aws-cli? - person Adiii; 13.12.2019
comment
Я проверил файлы конфигурации AWS, все в порядке - person ; 13.12.2019

попробуйте войти в систему таким образом и нажмите:

eval $(aws ecr get-login --no-include-email | sed ‘s|https://||’)

person Arun K    schedule 13.12.2019

Проблема заключалась в том, что на сервере jenkins уже были настроены aws с учетной записью другой команды. поэтому я добавил настройки региона (мы используем другой регион), и проблема решена.

person Community    schedule 10.01.2020