1

den Aufbau Gegeben:Image aus der EC2-Containerregistry in Elastic Beanstalk-Anmeldeinformationen bereitstellen?

Um meine Anwendung bereitstellen, die Elastic Beanstalk single container guide sagt, um eine Dockerrun.aws.json Datei zu machen.

Der Leitfaden für elastische Beanstalk also says Damit Bilder aus (jedem) privaten Repository verwendet werden, muss eine Anmeldeinformationsdatei (mit Authentifizierungstoken und E-Mail-Adresse) zu einem S3-Bucket hinzugefügt werden.

Authentifizierung to the EC2 Container Registry beinhaltet für ein Token Abfrage, dass der docker login Befehl verwenden können aber es ist nur gültig für 12 Stunden.

So in der Theorie kann ich die Elastic Beanstalk Führung, folgen und die aws ecr get-login, docker login ... Befehl Docker erhalten die Config-Datei zu erstellen Ich brauche, konvertieren, das zu einer .dockercfg Datei und legen Sie sie auf S3.

Wenn ich dann meine Dockerrun.aws.json Datei als eine neue Anwendungsversion auf Elastic Beanstalk hochlade, kann ich sie sofort bereitstellen, wenn 12 Stunden nicht verstrichen sind.

Meine Sorge ist, was passiert nach diesen 12 Stunden? Wenn Elastic Beanstalk meine Anwendung automatisch skalieren und mehr Instanzen hochfahren muss, schlägt sie fehl, wenn versucht wird, diese S3-gespeicherten Anmeldeinformationen zu verwenden. Oder wenn ich merke, dass ich zu einer früheren Version meiner Anwendung zurückkehren muss, kann ich das nicht einfach über die Elastic Beanstalk-Liste früherer Anwendungsversionen tun. Ich muss auf einer Maschine mit der AWS CLI installiert sein und die aws ecr get-login, docker login ..., laden Sie auf S3 Tanz wieder?

Gibt es eine weniger fragile Möglichkeit, die Authentifizierung zwischen Elastic Beanstalk und der EC2-Container-Registrierung einzurichten, sodass das 12-Stunden-Zeitlimit kein Problem darstellt?

+0

scheint mit Muldocker Bohnstalk Umgebung möglich zu sein, aber keine Dokumentation für einzelne Docker-Umgebungen gesehen. – Shibashis

+0

Die Multi Container Elastic Beanstalk-Implementierung verwendet das Version 2-Format der 'Dockerrun.aws.json'-Datei, aber diese Version [erfordert auch] (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_v2config .html # docker-multicontainer-dockerrun-privaterepo) Der Parameter 'authentication' verweist auf eine statische, S3-gehostete Konfigurationsdatei, also nicht sicher, wie das Problem gelöst wird? – MidnightLightning

+1

Haben Sie sich die FAQs in ECR angeschaut? Überprüfen Sie die Frage "Arbeitet Amazon ECR mit AWS Elastic Beanstalk?" .https: //aws.amazon.com/ecr/faqs/ – Shibashis

Antwort

2

inlining einfach die relevanten ECR FAQ answer hier (Hervorhebungen):

Alles, was Sie tun müssen, ist das Amazon ECR-Repository in Ihrer Dockerrun.aws.json Konfiguration angeben und die AmazonEC2ContainerRegistryReadOnly Politik zu Ihrem Container-Instanz anhängen Rolle.

Verwandte Themen