Conteneurs Docker préconfigurés (AMI Amazon Linux) - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Conteneurs Docker préconfigurés (AMI Amazon Linux)

Note

Le 18 juillet 2022, Elastic Beanstalk définira les statuts de toutes les branches de plateforme basées sur une AMI Amazon Linux (AL1) sur mise hors service. Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.

La branche de la GlassFish plateforme Docker préconfigurée qui s'exécute sur l'AMI Amazon Linux (AL1) n'est plus prise en charge. Pour migrer votre GlassFish application vers une plateforme Amazon Linux 2023 prise en charge, déployez GlassFish et votre code d'application sur une image Docker Amazon Linux 2023. Pour de plus amples informations, veuillez consulter la rubrique Déploiement d'une GlassFish application sur la plateforme Docker : une voie de migration vers Amazon Linux 2023.

Cette section décrit comment développer localement un exemple d'application, puis déployer l'application dans Elastic Beanstalk à l'aide d'un conteneur Docker préconfiguré.

Configuration de votre environnement de développement local

Pour cette présentation, nous utilisons un GlassFish exemple d'application.

Configuration de votre environnement
  1. Créez un dossier pour l'exemple d'application.

    ~$ mkdir eb-preconf-example ~$ cd eb-preconf-example
  2. Téléchargez le code de l'exemple d'application dans le nouveau dossier.

    ~$ wget https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/samples/docker-glassfish-v1.zip ~$ unzip docker-glassfish-v1.zip ~$ rm docker-glassfish-v1.zip

Développement et test en local

Pour développer un exemple d' GlassFish application
  1. Ajoutez un Dockerfile au dossier racine de votre application. Dans le fichier, spécifiez l'image de base AWS Elastic Beanstalk Docker à utiliser pour exécuter votre conteneur Docker préconfiguré local. Vous déploierez ensuite votre application sur une version de plateforme Docker préconfigurée Elastic GlassFish Beanstalk. Choisissez l'image de base Docker que cette version de plateforme utilise. Pour déterminer l'image Docker actuelle de la version de plateforme, consultez la section Docker préconfiguré de la page Plateformes AWS Elastic Beanstalk prises en charge dans le guide Plateformes AWS Elastic Beanstalk .

    Exemple ~/E/Dockerfile b-preconf-example
    # For Glassfish 5.0 Java 8 FROM amazon/aws-eb-glassfish:5.0-al-onbuild-2.11.1

    Pour plus d'informations sur l'utilisation d'un Dockerfile, consultez Configuration Docker.

  2. Développez l'image Docker.

    ~/eb-preconf-example$ docker build -t my-app-image .
  3. Exécutez le conteneur Docker à partir de l'image.

    Note

    Vous devez inclure l'indicateur -p pour mapper le port 8080 sur le conteneur au port localhost 3000. Les conteneurs Docker Elastic Beanstalk exposent toujours l'application sur le port 8080 sur le conteneur. Les indicateurs -it exécutent l'image comme un processus interactif. L'indicateur --rm supprime le système de fichiers conteneur lorsque le conteneur s'arrête. Vous pouvez inclure le cas échéant l'indicateur -d pour exécuter l'image comme un démon.

    $ docker run -it --rm -p 3000:8080 my-app-image
  4. Pour voir l'exemple d'application, tapez l'URL suivante dans votre navigateur web.

    http://localhost:3000
    GlassFish Exemple d'application affiché dans un navigateur Web

Déploiement sur Elastic Beanstalk

Après avoir testé votre application, vous êtes prêt à la déployer dans Elastic Beanstalk.

Pour déployer votre application sur Elastic Beanstalk
  1. Dans le dossier racine de votre application, renommez le Dockerfile Dockerfile.local. Cette étape est obligatoire pour qu'Elastic Beanstalk utilise le fichier Dockerfile qui contient les instructions correctes pour permettre à Elastic Beanstalk de développer une image Docker personnalisée sur chaque instance Amazon EC2 dans votre environnement Elastic Beanstalk.

    Note

    Vous n'avez pas besoin d'effectuer cette étape si votre Dockerfile inclut des instructions qui modifient l'image Docker de base de la version de plateforme. Vous n'avez pas besoin d'utiliser un Dockerfile si votre Dockerfile contient seulement une ligne FROM pour spécifier l'image de base à partir de laquelle développer le conteneur. Dans ce cas, le Dockerfile est redondant.

  2. Créez un groupe source d'application.

    ~/eb-preconf-example$ zip myapp.zip -r *
  3. Ouvrez la console Elastic Beanstalk à l'aide de ce lien préconfiguré : console.aws.amazon.com/elasticbeanstalk/home#/ newApplication?ApplicationName=Tutorials &EnvironmentType= LoadBalanced

  4. Pour Plateforme, sous Preconfigured – Docker (Préconfiguré – Docker), choisissez Glassfish.

  5. Pour Code de l'application, choisissez Charger votre code puis Charger.

  6. Choisissez Fichier local, Browse, puis ouvrez le groupe source d'application que vous venez de créer.

  7. Choisissez Upload.

  8. Choisissez Vérifier et lancer.

  9. Vérifiez les paramètres disponibles et choisissez Créer une application.

  10. Lorsque l'environnement est créé, vous pouvez afficher l'application déployée. Choisissez l'URL de l'environnement qui s'affiche en haut du tableau de bord de la console.