Verwenden von ebextensions mit Docker in AWS Elasticbeanstalk

Verwenden von ebextensions mit Docker in AWS Elasticbeanstalk

Gemäß Dokumentation:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html

Wenn Sie ebextensions mit einer Single Container Docker Elasticbeanstalk-Umgebung verwenden möchten, müssen Sie:

  1. Verwenden Sie ein ZIP-Archiv als Anwendungsversion
  2. Fügen Sie eine Dockerfile.aws.json-Datei in das Archiv ein
  3. Fügen Sie eine Dockerfile-Datei in das Archiv ein
  4. Fügen Sie einen .ebextensions-Ordner in Ihr Archiv ein

Das verwendete Docker-Image ist das von der Docker-Datei erstellte Image und nicht das in Dockerfile.aws.json angegebene Image.

In meinem Fall möchte ich nicht, dass Elasticbeanstalk mein Docker-Image im laufenden Betrieb erstellt. Stattdessen möchte ich ein Image aus meinem AWS ECR verwenden.

Kann ich in diesem Fall einfach eine Docker-Datei angeben, die nur Folgendes enthält:

FROM F11111111111.dkr.ecr.us-west-2.amazonaws.com/<my-image>:latest
EXPOSE 80

Wird dadurch einfach ein lokales, unverändertes Image aus der Basis erstellt und dieses verwendet?

Antwort1

Ich konnte dies testen und kann bestätigen, dass es funktioniert.

Obwohl ElasticBeanstalk davon ausgeht, dass Ihr Dockerfile auf dem Basis-Image aufbaut und es ergänzt, ist dies eigentlich nicht erforderlich.

Die Docker-Datei kann einfach auf das Basis-Image verweisen, das Sie verwenden möchten (z. B. im AWS ECR), und auf den Port, den Sie freigeben möchten, wenn es in der ElasticBeankstalk-Instanz bereitgestellt wird.

Dies ermöglicht Ihnen dann, ebextensions in einer Single Container Docker-Umgebung zu verwenden.

verwandte Informationen