den Aufbau Gegeben:Image aus der EC2-Containerregistry in Elastic Beanstalk-Anmeldeinformationen bereitstellen?
- Anwendung lokal entwickelt und stieß auf einen EC2 Container Registry privaten Registry
- Eine Elastic Beanstalk Umgebung mit einem Host-Docker gesetzt
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?
scheint mit Muldocker Bohnstalk Umgebung möglich zu sein, aber keine Dokumentation für einzelne Docker-Umgebungen gesehen. – Shibashis
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
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