Ich habe eine Anwendung node.js in einem Docker-Bild in einem öffentlichen Repository verpackt.AWS Beanstalk docker Bild automatische Aktualisierung funktioniert nicht
Ich habe dieses Bild erfolgreich in einer AWS Beanstalk Docker-Anwendung bereitgestellt. Das Problem ist, dass ich erwartet habe, dass die Beanstalk-Anwendung automatisch aktualisiert wird, wenn ich das Bild im öffentlichen Repository aktualisiere, wie es die folgende Konfiguration vorschlägt.
Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "peveuve/dynamio-payment-service",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8000"
}
],
"Logging": "/var/log/dynamio"
}
Die Dockerfile ist sehr einfach:
FROM node:4.2.1-onbuild
# Environment variables
ENV NODE_ENV test
ENV PORT 8000
# expose application port outside
EXPOSE $PORT
Die Dokumentation Amazon ist ziemlich klar, dass:
Optional die Update-Taste schließen . Der Standardwert ist "true" und weist Elastic Beanstalk an, das Repository zu überprüfen, alle Aktualisierungen zum Image zu ziehen und alle zwischengespeicherten Bilder zu überschreiben.
Aber ich muss die Beanstalk-Anwendung manuell aktualisieren, indem ich eine neue Version des Deskriptors Dockerrun.aws.json hochlade. Habe ich etwas verpasst? Soll es so funktionieren?
ich glaube, Sie im Grunde recht. Ich bin mir nur nicht sicher, ob ein Neustart ausreicht, eine Neuerstellung ist notwendig. Das musste ich tun, und ein anderer Mann sagte dasselbe in seinem Blog. Steigern Sie Ihre Antwort, wenn Sie zustimmen, und ich werde es akzeptieren. – peveuve
guten Fang! Ich aktualisierte die Antwort –
Update: tatsächlich, nicht neu erstellen Sie Ihre App, es dauert sehr lange. Viel besser, den gleichen Dockerrun.aws.json hochzuladen und die Versionsnummer zu erhöhen. – peveuve