ECS'ye yüklenen özel bir docker görüntüm var. Bu sorunu çözmeye çalışmak için gerekli izinleri açtım (bunu işe alabildiğim zaman tekrar kilitleyeceğim). Docker görüntüsünü elastik fasülyeye dağıtmaya çalışıyorum. Bir docker özellikli elastik fasülye ortamı oluşturdum. AWS dokümanlarına göre, eğer görüntümü AWS'den çekiyorsam, kimlik bilgilerini geçmem gerekmiyor. Bu yüzden Dockerrun.aws.json dosyamı yükledim ve yüklemeyi denedim. Bu hata ile başarısız:AWS Docker kurulumu
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.
/var/log/eb-activity.log bilgiler içinde kullanışlı hiçbir ilgisi yoktur. Ayrıca S3 dockercfg.json dosyası ile kimlik doğrulaması ekleyerek denedim
{
"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"
}
:
İşte benim Dockerrun.aws.json dosya. Benim için de işe yaramadı.
Note that I am using a business account instead of a personal account, so there may be some unknown variances as well.
Teşekkürler!
Güncelleme: Şu anda kullanıcımın tüm izinleri var, bu nedenle izin alma konusunda hiçbir şey olmamalı.
Buradaki ECR veri havuzu ayarlarını/izinlerini şu şekilde kontrol edin: https://media.amazonwebservices.com/blog/2015/ecr_permissions_1.png –
Ayrıca, IAM rolünün fasulyeye bağlı olduğundan emin olun. (çekmeyi çalıştıran örnek), IAM izinleri aracılığıyla hem ECR'ye hem de ECS'ye erişebilir: http://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_IAM_policies.html –
Teşekkürler @MarcYoung. düzgün bir şekilde zaten –