Wann werden bei AWS Elastic Beanstalk mit Docker Ebextensions relativ zu Docker RUN- und CMD-Einträgen ausgeführt?

Wann werden bei AWS Elastic Beanstalk mit Docker Ebextensions relativ zu Docker RUN- und CMD-Einträgen ausgeführt?

Ich kann keine Dokumentation zur Startreihenfolge finden (wahrscheinlich suche ich einfach nicht an den richtigen Stellen).

Auf der Docker-Seite gibt es alle Dinge im Dockerfile, die zusammen ausgeführt werden, und dann den CMD-Eintrag, der anschließend ausgeführt wird, um den Server tatsächlich zu starten.

Ich möchte wissen, wann Befehle in Ebextensions relativ dazu ausgeführt werden.

Geschieht das, bevor irgendetwas mit dem Dockerfile-Zeug passiert? Nach dem Großteil des Dockerfile-Zeugs, aber vor CMD oder nach allem?

Antwort1

Diese Seite ist nützlich:Anpassen von Software auf Linux-Servern | AWS Elastic Beanstalk

Unter „Befehle“ steht „Ausführen, bevor die Anwendung und der Webserver eingerichtet und die Anwendungsversionsdatei extrahiert wird“

Unter „Containerbefehle“ heißt es: „Ausführen, nachdem die Anwendung und der Webserver eingerichtet und das Anwendungsversionsarchiv extrahiert wurden, aber bevor die Anwendungsversion bereitgestellt wird.“

Aus Experimenten glaube ich, dass es so abläuft:

  1. Ausführen von ebextensions-Befehlen
  2. Docker-Image als „aws_beanstalk/staging-app“ erstellen
  3. Ausführen von ebextensions-Containerbefehlen
  4. Benennen Sie das Bild in aws_beanstalk/current-app um
  5. Starten Sie das Bild

Ich kann über Containerbefehle erfolgreich „Run“ auf dem Staging-App-Image aufrufen, und das war mein Ziel.

verwandte Informationen