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 plateforme Docker GlassFish préconfigurée s'exécutant sur l'AMI Amazon Linux (AL1) n'est plus prise en charge. Pour migrer votre application GlassFish vers une plateforme Amazon Linux 2023 prise en charge, déployez GlassFish et le code de votre application vers une image Docker Amazon Linux 2023. Pour de plus amples informations, veuillez consulter la rubrique Déploiement d'une application GlassFish sur la plateforme Docker : un chemin 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 procédure, nous utilisons un exemple d'application GlassFish.

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'application GlassFish
  1. Ajoutez un Dockerfile au dossier racine de votre application. Dans le fichier, spécifiez l'image de base Docker AWS Elastic Beanstalk à utiliser pour exécuter votre conteneur Docker préconfiguré local. Vous déploierez ultérieurement votre application sur une version de plateforme Docker GlassFish préconfigurée Elastic 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 ~/Eb-preconf-example/Dockerfile
    # 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
    
                Exemple d'application GlassFish s'affichant 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 avec 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.