3

Ich versuche, eine Docker-Anwendung mit AWS über Elastic Beanstalk zu hosten. Beim manuellen Erstellen einer Umgebung habe ich die Möglichkeit, eine Beispielanwendung in der Umgebung auszuführen, meine eigene hochzuladen oder eine Anwendung von s3 zu entfernen. Durch das Hochladen einer Dockerrun.aws.json Datei mit allen notwendigen Konfigurationen kann die Umgebung mein Docker-Image abrufen und ausführen.So legen Sie Dockerrun.aws.json für AWS mit Terraform fest

Jetzt verwende ich Terraform, um diese Umgebungen programmgesteuert zu erstellen und zu konfigurieren. Bei der Erstellung wird jedoch die Beispielanwendung ausgeführt, was wiederum Probleme verursacht, wenn ich versuche, die Dockerrun-Datei manuell in die Umgebung hochzuladen.

Was ist der richtige Weg, um die Dockerrun-Informationen in die Terraform-Konfiguration aufzunehmen, damit meine Anwendung ohne Probleme bereitgestellt werden kann?

Antwort

0

Sie sollten einen S3-Bucket verwenden, um den Dockerrun.aws.json zu speichern und eine Beanstalk-Anwendungsversion einzurichten.

Etwas wie:

resource "aws_elastic_beanstalk_application_version" "latest" { 
  name        = "latest" 
  application = "your_app" 
  bucket      = "your_bucket" 
  key         = "Dockerrun.aws.json" 
} 

zu Ihrer Umgebung hinzufügen Bohnenstange Dann:

version_label = "${aws_elastic_beanstalk_application_version.latest.name}" 

Natürlich ist besser Referenzen zu verwenden, anstatt Namen von hartzucodieren.

Verwandte Themen