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:
- Ausführen von ebextensions-Befehlen
- Docker-Image als „aws_beanstalk/staging-app“ erstellen
- Ausführen von ebextensions-Containerbefehlen
- Benennen Sie das Bild in aws_beanstalk/current-app um
- Starten Sie das Bild
Ich kann über Containerbefehle erfolgreich „Run“ auf dem Staging-App-Image aufrufen, und das war mein Ziel.