Mam niestandardowy obraz dokowania przesłany do ECS. Otworzyłem uprawnienia, aby spróbować przejść przez ten problem (zablokuję go ponownie, gdy będę mógł to uruchomić). Próbuję wdrożyć obraz dokowania do elastycznej fasoli. Mam skonfigurowane środowisko elastycznego komponentu beanstalk. Według dokumentów AWS, jeśli ściągam mój obraz z AWS, nie muszę przekazywać danych uwierzytelniających. Przesyłam więc mój plik Dockerrun.aws.json i próbuję go zainstalować. Błąd kończy się niepowodzeniem:AWS Docker deployment
Command failed on instance. Return code: 1 Output: Failed to authenticate with ECR for registry '434875166128' in 'us-east-1'. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
Informacja /var/log/eb-activity.log nie ma w tym nic użytecznego.
Oto mój plik Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "{id000xxxx}.dkr.ecr.us-east-1.amazonaws.com/my-repo:1.0.0",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "4000"
}
],
"Logging": "/var/log/app-name"
}
Próbowałem również dodawanie uwierzytelniania z plikiem dockercfg.json w S3. To też nie działało dla mnie.
Note that I am using a business account instead of a personal account, so there may be some unknown variances as well.
Dzięki!
Aktualizacja: Mój użytkownik ma teraz w tej chwili pełne uprawnienia, więc nie powinno być nic, co mogłoby przeszkadzać.
Sprawdź ustawienia lub uprawnienia do repozytorium ECR, jak tutaj: https://media.amazonwebservices.com/blog/2015/ecr_permissions_1.png –
Upewnij się także, że rola IAM jest dołączona do łodygi fasoli (instancja uruchamiająca pull) ma dostęp do ECR i ECS poprzez uprawnienia IAM: http://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_IAM_policies.html –
Dzięki @MarcYoung. –