Publier une application web en tant que conteneur Docker à l’aide du kit de ressources Azure pour IntelliJPublish a web app as a Docker container by using the Azure Toolkit for IntelliJ

Les conteneurs Docker constituent une méthode largement utilisée pour déployer des applications web.Docker containers are a widely used method for deploying web applications. En utilisant des conteneurs Docker, les développeurs peuvent regrouper tous les fichiers et dépendances de leur projet en un même package pour un déploiement sur un serveur.By using Docker containers, developers can consolidate all their project files and dependencies into a single package for deployment to a server. Le kit de ressources Azure pour IntelliJ simplifie ce processus pour les développeurs Java en ajoutant des fonctionnalités pour publier en tant que conteneur Docker permettant le déploiement sur Microsoft Azure.The Azure Toolkit for IntelliJ simplifies this process for Java developers by adding Publish as Docker Container features for deployment to Microsoft Azure. Cet article vous guide à travers les étapes nécessaires à la publication de vos applications sur Azure en tant que conteneurs Docker.This article walks you through the steps required to publish your applications to Azure as Docker containers.

Notes

Vous pouvez trouver plus d’informations sur Docker sur le site web de Docker.More information about Docker is available on the Docker website.

PrérequisPrerequisites

Pour réaliser les étapes présentes dans cet article, vous devez installer le kit de ressources Azure pour IntelliJ, ce qui nécessite les composants logiciels suivants :To complete the steps in his article, you will need to install the Azure Toolkit for IntelliJ, which requires the following software components:

Notes

La page Azure Toolkit for IntelliJ dans le référentiel de plug-in JetBrains liste les versions compatibles avec le kit de ressources.The Azure Toolkit for IntelliJ page at the JetBrains Plugin Repository lists the builds that are compatible with the toolkit.

Publier votre application web sur Azure en utilisant un conteneur DockerPublish your web app to Azure by using a Docker container

Notes

  • Pour publier votre application web, vous devrez créer un artefact prêt pour le déploiement.To publish your web app, you must create a deployment-ready artifact. Pour plus d’informations, consultez la section Informations supplémentaires sur la création d’artefacts.To learn more, see the Additional information about creating artifacts section.

  • Une fois que vous avez utilisé l’Assistant de déploiement au moins une fois, la plupart de vos paramètres sont utilisés comme valeurs par défaut quand vous réexécutez l’Assistant.After you have completed the deployment wizard at least once, most of your settings are used as defaults when you run the wizard again.

  1. Ouvrez votre projet d’application web dans IntelliJ.Open your web app project in IntelliJ.

  2. Pour démarrer l’Assistant Publish as Docker Container (Publication en tant que conteneur Docker), procédez comme suit :To start the Publish as Docker Container wizard, do either of the following:

    • Dans la fenêtre de l’outil Project (Projet), cliquez avec le bouton droit sur votre projet, cliquez sur Azure puis sur Publish as Docker Container (Publier en tant que conteneur Docker) :In the Project tool window, right-click your project, click Azure, and then click Publish as Docker Container:

      Commande Publish as Docker Container (Publier en tant que conteneur Docker)

    • Dans la barre d’outils IntelliJ, cliquez sur le bouton Publish Group (Publier le groupe) puis cliquez sur Publish as Docker Container (Publier en tant que conteneur Docker) :On the IntelliJ toolbar, click the Publish Group button, and then click Publish as Docker Container:

      Commande Publish as Docker Container (Publier en tant que conteneur Docker)The Publish as Docker Container command
      L’Assistant Deploy Docker Container on Azure (Déploiement d’un conteneur Docker sur Azure) s’ouvre.The Deploy Docker Container on Azure wizard opens.

    Assistant Deploy Docker Container on Azure (Déploiement d’un conteneur Docker sur Azure)

  3. Dans la fenêtre Type an image name, select the artifact’s path and check a Docker host to be used (Tapez un nom d’image, sélectionnez le chemin de l’artefact et indiquez un hôte Docker à utiliser), procédez comme suit :In the Type an image name, select the artifact's path and check a Docker host to be used window, do the following:

    a.a. Dans la zone Docker image name (Nom de l’image Docker), entrez un nom unique pour votre hôte Docker.In the Docker image name box, enter a unique name for your Docker host. (L’Assistant crée automatiquement un nom, mais vous pouvez le modifier.)(The wizard automatically creates a name, but you can modify it.)

    b.b. La zone Hosts (Hôtes) affiche tous les hôtes Docker que vous avez déjà créés.The Hosts area displays any Docker hosts that you have already created. Effectuez l’une des actions suivantes :Do either of the following:

    • Si vous avez un hôte Docker existant, vous pouvez déployer votre application web sur celui-ci.If you have an existing Docker host, you can deploy your web app to it.

    • Pour créer un hôte Docker, cliquez sur le signe plus de couleur verte ( + ).To create a Docker host, click the green plus sign (+).
      La boîte de dialogue Create Docker Host (Créer un hôte Docker) s’ouvre.The Create Docker Host dialog box opens.

      Assistant Deploy Docker Container on Azure (Déploiement d’un conteneur Docker sur Azure)

  4. Dans la fenêtre Configure the new virtual machine (Configurer la nouvelle machine virtuelle), fournissez les informations suivantes sur votre hôte Docker.In the Configure the new virtual machine window, provide the following information about your Docker host. (L’Assistant génère automatiquement la plupart des informations pour vous, mais vous pouvez les modifier.)(The wizard automatically generates most of the information for you, but you can modify any of them.)

    a.a. Dans la zone Name (Nom), entrez un nom unique pour votre hôte Docker.In the Name box, enter a unique name for the Docker host. (Ce n’est pas le même que le nom de l’image Docker que vous avez spécifié précédemment.)(It is not the same as the Docker image name that you specified earlier.)

    b.b. Dans la zone Subscription (Abonnement), entrez l’abonnement Azure que vous utilisez pour votre hôte.In the Subscription box, enter the Azure subscription that you use for your host.

    c.c. Dans la zone Region (Région), entrez la région géographique où se trouve votre hôte.In the Region box, enter the geographical region where your host is located.

    d.d. Sous l’onglet OS and Size (Système d’exploitation et taille), procédez comme suit :On the OS and Size tab, do the following:

    • Host OS (Système d’exploitation hôte) : entrez le système d’exploitation de la machine virtuelle qui contient votre hôte.Host OS: Enter the operating system for the virtual machine that contains your host.
    • Taille: entrez la taille de la machine virtuelle de votre hôte.Size: Enter the virtual-machine size for your host.

    e.e. Sous l’onglet Resource Group (Groupe de ressources), sélectionnez une des options suivantes :On the Resource Group tab, select either of the following:

    • New resource group (Nouveau groupe de ressources) : créez un groupe de ressources pour votre hôte.New resource group: Create a resource group for your host.
    • Existing resource group (Groupe de ressources existant) : spécifiez un groupe de ressources existant dans votre compte Azure.Existing resource group: Specify an existing resource group from your Azure account.

    f.f. Sous l’onglet Network (Réseau), sélectionnez une des options suivantes :On the Network tab, select either of the following:

    • New virtual network (Nouveau réseau virtuel) : créez un réseau virtuel pour votre hôte.New virtual network: Create a virtual network for your host.
    • Existing virtual network (Réseau virtuel existant) : spécifiez un réseau virtuel existant dans votre compte Azure.Existing virtual network: Specify an existing virtual network from your Azure account.

    g.g. Sous l’onglet Storage (Stockage), sélectionnez une des options suivantes :On the Storage tab, select either of the following:

    • New storage account (Nouveau compte de stockage) : créez un compte de stockage pour votre hôte.New storage account: Create a storage account for your host.
    • Existing storage account (Compte de stockage existant) : spécifiez un compte de stockage existant dans votre compte Azure.Existing storage account: Specify an existing storage account from your Azure account.
  5. Cliquez sur Suivant.Click Next.
    La fenêtre Configure log in credentials and port settings (Configurer les informations d’identification de connexion et les paramètres de port) s’ouvre.The Configure log in credentials and port settings window opens.

    La fenêtre Configure log in credentials and port settings (Configurer les informations d’identification de connexion et les paramètres de port)

  6. Sélectionnez l’une des options suivantes :Select one of the following options:

    • Import credentials from Azure Key Vault (Importer des informations d’identification depuis Azure Key Vault) : Spécifiez un ensemble d’informations d’identification précédemment enregistré et stocké dans votre abonnement Azure.Import credentials from Azure Key Vault: Specify a previously saved set of credentials that are stored in your Azure subscription.

      Notes

      Un coffre de clés Azure créé avec un compte ou un principal de service spécifique n’est pas automatiquement accessible par un autre compte ou principal de service qui partage l’abonnement.An Azure key vault that's created with a specific account or service principal is not automatically accessible by another account or service principal that shares the subscription. Pour permettre à un autre compte ou principal de service d’utiliser le coffre de clés, vous devez utiliser le portail Azure pour ajouter le compte ou le principal de service.To allow another account or service principal to use the key vault, you must use the Azure portal to add the account or service principal.

    • New log in credentials (Nouvelles informations de connexion) : créez un ensemble d’informations d’identification de connexion.New log in credentials: Create a new set of login credentials. Si vous sélectionnez cette option, procédez comme suit :If you select this option, do the following:

      a.a. Sous l’onglet VM Credentials (Informations d’identification de machine virtuelle), indiquez les informations d’identification de connexion de la machine virtuelle de votre hôte Docker :On the VM Credentials tab, provide the following information for the virtual-machine login credentials of your Docker host:

      • Nom d’utilisateur : entrez le nom d’utilisateur des informations de connexion de votre machine virtuelle.Username: Enter the username for your virtual-machine login credentials.

      • Mot de passe et Confirmer : entrez le mot de passe des informations de connexion de votre machine virtuelle.Password and Confirm: Enter the password for your virtual-machine login credentials.

      • SSH : entrez les paramètres SSH (Secure Shell) pour votre hôte Docker.SSH: Enter the Secure Shell (SSH) settings for your Docker host. Vous pouvez sélectionner l’une des options suivantes :You can select one of the following options:

      • Aucun : spécifie que votre machine virtuelle n’autorise pas les connexions SSH.None: Specifies that your virtual machine does not allow SSH connections.

      • Auto-generate (Générer automatiquement) : crée automatiquement les paramètres nécessaire pour la connexion via SSH.Auto-generate: Automatically creates the requisite settings for connecting via SSH.

      • Import from directory (Importer à partir du répertoire) : vous permet de spécifier un répertoire qui contient un jeu de paramètres SSH précédemment enregistrés.Import from directory: Allows you to specify a directory that contains a set of previously saved SSH settings. Le répertoire doit contenir les deux fichiers suivants :The directory must contain the following two files:

        • id_rsa : contient l’identification RSA d’un utilisateur.id_rsa: Contains the RSA identification for a user.

        • id_rsa.pub : contient la clé publique RSA qui est utilisée pour l’authentification.id_rsa.pub: Contains the RSA public key that is used for authentication.

      b.b. Sous l’onglet Docker Daemon Access (Accès au démon Docker), fournissez les informations suivantes :On the Docker Daemon Access tab, provide the following information:

      Créer un hôte Docker

      • Docker Daemon port (Port du démon Docker) : entrez le port TCP unique pour votre hôte Docker.Docker Daemon port: Enter the unique TCP port for your Docker host.

      • TLS Security (Sécurité TLS) : entrez les paramètres TLS (Transport Layer Security) pour votre hôte Docker.TLS Security: Enter the Transport Layer Security settings for your Docker host. Vous pouvez choisir parmi les options suivantes :You can choose from the following options:

      • Aucun : spécifie que votre machine virtuelle n’autorise pas les connexions TLS.None: Specifies that your virtual machine does not allow TLS connections.

      • Auto-generate (Générer automatiquement) : crée automatiquement les paramètres nécessaire pour la connexion via TLS.Auto-generate: Automatically creates the requisite settings for connecting via TLS.

      • Import from directory (Importer à partir du répertoire) : spécifie un répertoire qui contient un jeu de paramètres TLS précédemment enregistrés.Import from directory: Specifies a directory that contains a set of previously saved TLS settings. Le répertoire doit contenir les six fichiers suivants :The directory must contain the following six files:

        • ca.pem et ca-key.pem : contiennent le certificat et la clé publique de l’autorité de certification TLS.ca.pem and ca-key.pem: Contain the certificate and public key for the TLS Certificate Authority.

        • cert.pem et key.pem : contiennent le certificat client et la clé publique utilisés pour l’authentification TLS.cert.pem and key.pem: Contain client certificate and public key which will be used for TLS authentication.

        • server.pem et server-key.pem : contiennent le certificat client et la clé publique qui est utilisée pour l’authentification TLS.server.pem and server-key.pem: Contain the client certificate and public key that is used for TLS authentication.

  7. Après avoir entré les informations nécessaires, cliquez sur Finish (Terminer).After you have entered the required information, click Finish.
    L’Assistant Deploy Docker Container on Azure (Déploiement d’un conteneur Docker sur Azure) réapparaît.The Deploy Docker Container on Azure wizard reappears.

    Assistant Deploy Docker Container on Azure (Déploiement d’un conteneur Docker sur Azure)

  8. Cliquez sur Suivant.Click Next.
    La fenêtre Configure the Docker container to be created (Configurer le conteneur Docker à créer) s’ouvre.The Configure the Docker container to be created window opens.

    La fenêtre Configure the Docker container to be created (Configurer le conteneur Docker à créer)

  9. Dans la fenêtre Configure the Docker container to be created (Configurer le conteneur Docker à créer), fournissez les informations suivantes :In the Configure the Docker container to be created window, provide the following information:

    a.a. Dans la zone Docker container name (Nom du conteneur Docker), entrez un nom unique pour votre conteneur Docker.In the Docker container name box, enter a unique name for your Docker container.

    b.b. Choisissez l’une des images Docker suivantes :Choose one of the following Docker images:

    • Predefined Docker image (Image Docker prédéfinie) : spécifiez une image Docker préexistante dans Azure.Predefined Docker image: Specify a pre-existing Docker image from Azure.

      Notes

      La liste des images Docker dans cette zone est constituée de plusieurs images configurées pour application d’un correctif par le kit de ressources Azure afin que votre artefact soit déployé automatiquement.The list of Docker images in this box consists of several images that the Azure Toolkit has been configured to patch so that your artifact is deployed automatically.

    • Custom Dockerfile (Fichier Dockerfile personnalisé) : spécifiez un fichier Dockerfile précédemment enregistré sur votre ordinateur local.Custom Dockerfile: Specify a previously saved Dockerfile from your local computer.

      Notes

      Il s’agit d’une fonctionnalité plus avancée destinée aux développeurs qui veulent déployer leur propre fichier Dockerfile.This is a more advanced feature for developers who want to deploy their own Dockerfile. Toutefois, les développeurs qui utilisent cette option doivent s’assurer que leur fichier Docker est construit correctement.However, it is up to developers who use this option to ensure that their Dockerfile is built correctly. Comme le kit de ressources Azure ne valide pas le contenu d’un fichier Dockerfile personnalisé, le déploiement peut échouer si le fichier Dockerfile présente des problèmes.Because the Azure Toolkit does not validate the content in a custom Dockerfile, the deployment might fail if the Dockerfile has issues. En outre, comme la boîte à outils Azure attend que le fichier Dockerfile personnalisé contienne un artefact d’application web, il tente d’ouvrir une connexion HTTP.In addition, because the Azure Toolkit expects the custom Dockerfile to contain a web app artifact, it attempts to open an HTTP connection. Si les développeurs publier un autre type d’artefact, ils peuvent recevoir des erreurs sans effet après le déploiement.If developers publish a different type of artifact, they might receive innocuous errors after deployment.

    c.c. Dans la zone Port settings (Paramètres de port), entrez la liaison de port TCP unique pour votre conteneur Docker.In the Port settings box, enter the unique TCP port binding for your Docker container.

  10. Après avoir terminé les étapes précédentes, cliquez sur Finish (Terminer).After you have completed the preceding steps, click Finish.

Le kit de ressources Azure commence le déploiement de votre application web sur Azure dans un conteneur Docker.The Azure Toolkit begins deploying your web app to Azure in a Docker container. Sauf si vous avez configuré le déploiement d’IntelliJ en arrière-plan, une barre de progression Deploying to Azure (Déploiement sur Azure) s’affiche.Unless you have configured IntelliJ to be deployed in the background, a Deploying to Azure progress bar appears.

La barre de progression du déploiement

Informations supplémentaires sur la création d’artefactsAdditional information about creating artifacts

Pour créer un artefact prêt pour le déploiement, procédez comme suit :To create a deployment-ready artifact, do the following:

  1. Ouvrez votre projet d’application web dans IntelliJ.Open your web app project in IntelliJ.

  2. Cliquez sur File (Fichier) , puis sur Project Structure (Structure de projet) .Click File, and then click Project Structure.

    La commande Structure de projet

  3. Pour ajouter un artefact, cliquez sur le signe plus de couleur verte ( + ), puis cliquez sur Web Application: Archive (Application web : Archive) .To add an artifact, click the green plus sign (+), and then click Web Application: Archive.

    La commande « Web Application: Archive »

  4. Dans la zone Name (Nom), entrez un nom pour votre artefact (n’incluez pas l’extension .war) puis cliquez sur OK.In the Name box, enter a name for your artifact (do not include the .war extension), and then click OK.

    La zone Name (Nom) de l’artefact

Pour plus d’informations sur la création d’artefacts dans IntelliJ, consultez Configuring artifacts sur le site web de JetBrains.For more information about creating artifacts in IntelliJ, see Configuring artifacts on the JetBrains website.

Étapes suivantesNext steps

Pour obtenir des ressources supplémentaires pour Docker, consultez le Site web de Docker.For additional resources for Docker, see the official Docker website.

Pour signaler des bogues ou demander de nouvelles fonctionnalités, créez une entrée dans notre dépôt GitHub.To report bugs or request new features, create issues on our GitHub repository. Vous pouvez aussi poser des questions sur Stack Overflow avec la balise azure-java-tools.Or, ask questions on Stack Overflow with tag azure-java-tools.

Pour plus d’informations sur l’utilisation de Java avec Azure, consultez les liens suivants :For more information about using Java with Azure, see the following links: