У меня есть регистр бегуна gitlab с исполнителем docker+machine
, и я установил свой `.gitlab-ci.yml ', как показано ниже:
stages:
- RUN_TESTS
- CLEAN
image:
name: <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<NAMESPACE>:<TAG>
И образ <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<NAMESPACE>:<TAG>
является частным AWS
репозиторием ECR. И он каждый раз терпит неудачу, поскольку это частный репозиторий.
Как я могу настроить это для получения этого личного образа?
Я получил пароль ecr с помощью команды aws ecr get-login-password --region us-east-2
, и он дал пароль.
Я изучил этот docker-credential-ecr-login
инструмент и установил его в экземпляре бегуна. И я настроил учетные данные AWS, используя aws configure
, и теперь учетные данные находятся на ~/.aws/credentials
А также добавьте следующий блок в ~/.docker/config.json
, как показано ниже:
"credHelpers": {
"<aws_account_id>.dkr.ecr.<region>.amazonaws.com": "ecr-login"
}
Но когда я пытаюсь docker pull <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<NAMESPACE>:<TAG>
, я получаю следующую ошибку:
Ответ демона об ошибке: получите https://Account-ID.dkr.ecr.REGION.amazonaws.com/v2/spot-runner-image/manifests/latest: нет базовых учетных данных
Есть какое-то отношение к docker-credential-ecr-login