Tous les produits
Search
Centre de documentation

Enterprise Distributed Application Service:Create an application image

Dernière mise à jour :Aug 10, 2026

Créez un package WAR ou JAR pour votre application à l'aide d'outils de développement locaux, générez une image Docker basée sur ce package, puis transférez-la vers un registre d'images Alibaba Cloud afin de déployer l'application. EDAS fournit des images de base préconfigurées pour trois frameworks d'application : HSF (High-speed Service Framework), Spring Cloud et Dubbo. Il vous suffit donc de rédiger un fichier Dockerfile minimal qui copie votre package WAR ou JAR dans l'image.

Chaque image de base intègre une combinaison spécifique de système d'exploitation, de JDK et de Tomcat. Les images de base HSF incluent également le conteneur middleware Pandora.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une installation locale de Docker

  • Un package d'application WAR ou JAR prêt à être déployé

  • Une instance Alibaba Cloud Container Registry avec un dépôt d'images configuré

Pour plus d'informations sur les variables d'environnement injectées par EDAS au moment de l'exécution, consultez la section Variables d'environnement d'exécution.

Choisir une image de base

Sélectionnez une image de base adaptée à votre framework d'application et à vos besoins d'exécution.

Image de base Java Tomcat Pandora Cas d'utilisation
apaas/edas OpenJDK 1.8 8.5.78 N/A Spring Cloud ou Dubbo (alias pour edas-centos-openjdk8-tomcat8)
apaas/edas-centos-openjdk8-tomcat8 OpenJDK 1.8 8.5.78 N/A Spring Cloud ou Dubbo sur Tomcat 8.x
apaas/edas-centos-openjdk8-tomcat7 OpenJDK 1.8 7.0.93 N/A Spring Cloud ou Dubbo sur Tomcat 7.x
apaas/edas-centos-openjdk8-alitomcat8 OpenJDK 1.8 8.5.37 3.5.9 HSF sur Ali-Tomcat 8.x
apaas/edas-centos-openjdk8-alitomcat7 OpenJDK 1.8 7.0.92 3.5.9 HSF sur Ali-Tomcat 7.x
apaas/edas-centos-openjdk8-alitomcat8-v4 OpenJDK 1.8 8.5.37 4.0.2 HSF 4.0 sur Ali-Tomcat 8.x
apaas/edas-centos-openjdk8-alitomcat7-v4 OpenJDK 1.8 7.0.92 4.0.2 HSF 4.0 sur Ali-Tomcat 7.x
apaas/edas-centos7-openjdk17-tomcat9 OpenJDK 17 9.0.70 N/A OpenJDK 17 + Tomcat 9
apaas/edas-centos7-openjdk17-tomcat10 OpenJDK 17 10.1.41 N/A OpenJDK 17 + Tomcat 10

Toutes les images sont hébergées à l'adresse apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/ et s'exécutent sur CentOS 7. Le tag par défaut est latest.

Pour découvrir d'autres images, rendez-vous sur le Docker Hub aPaaS. Pour obtenir une assistance technique, rejoignez le groupe DingTalk dont l'ID est 31723701. Les fichiers Dockerfile sources utilisés pour générer ces images de base sont disponibles dans le dépôt alibabacloud-edas-dockerfile-demo sur GitHub.

Rédiger un Dockerfile

Un Dockerfile définit les instructions nécessaires à la construction de votre image d'application. Les images de base EDAS intègrent déjà le JDK, Tomcat et les scripts de démarrage ; le Dockerfile n'a donc qu'à copier votre package d'application dans l'image.

Applications HSF

Les applications HSF nécessitent une image de base Ali-Tomcat incluant le conteneur middleware Pandora.

# Base: CentOS 7 + OpenJDK 8 + Ali-Tomcat 7 + Pandora 3.5.9
FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-alitomcat7:latest
MAINTAINER Alibaba Cloud EDAS Team<edas-**@list.alibaba-inc.com>

ENV TZ="Asia/Shanghai"

# Application directory inside the container
ENV APP_HOME /home/admin/app/

##### Deploy a JAR file (default)
ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/HSF_PROVIDER.jar

##### Deploy a WAR file -- uncomment the line below and comment out the JAR line
#ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/HSF_PROVIDER.war

##### Deploy from local storage -- uncomment and set the path to your local file
#ARG APP_LOCATION=/path/to/your/HSF_PROVIDER.war

# Copy the application package into the container
ADD ${APP_LOCATION} ${APP_HOME}/

# The startup script and working directory are provided by the base image.
# Entry point: /home/admin/bin/start.sh
# Working directory: /home/admin

Applications Spring Cloud ou Dubbo

Les applications Spring Cloud et Dubbo utilisent l'image de base EDAS standard (sans Pandora).

# Base: CentOS 7 + OpenJDK 8 + Tomcat 8
FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas:latest

# Application directory inside the container
ENV APP_HOME /home/admin/app/

##### Deploy a JAR file (default)
ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/DUBBO_PROVIDER.jar

##### Deploy a WAR file -- uncomment the line below and comment out the JAR line
#ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/DUBBO_PROVIDER.war

##### Deploy from local storage -- uncomment and set the path to your local file
#ARG APP_LOCATION=/path/to/your/SPRING_CLOUD_PROVIDER.war

# Copy the application package into the container
ADD ${APP_LOCATION} ${APP_HOME}/

Personnaliser l'image

Après avoir créé le Dockerfile de base, appliquez les personnalisations souhaitées parmi celles présentées ci-dessous.

Mettre à niveau OpenJDK

Installez directement une version plus récente du JDK dans le Dockerfile. EDAS prend en charge jusqu'à OpenJDK 21 pour les images personnalisées.

L'exemple suivant remplace OpenJDK 8 préinstallé par OpenJDK 9 :

# Remove the pre-installed JDK and install OpenJDK 9
RUN yum erase -y java; yum -y install java-1.9.0-openjdk-devel

Mettre à niveau la version du conteneur EDAS (HSF uniquement)

Pour les applications HSF exécutées dans des clusters ACK, mettez à jour les versions de Pandora et d'Ali-Tomcat afin de bénéficier des nouvelles fonctionnalités ou correctifs du middleware.

  1. Connectez-vous à la console EDAS.

  2. Dans le volet de navigation de gauche, sélectionnez Application Management > Applications.

  3. Sur la page Applications, cliquez sur Create Application. Dans la section Application Runtime Environment de l'étape Basic Information, repérez les valeurs disponibles pour Pandora Version et Ali-Tomcat Version.

  4. Définissez la version cible dans le Dockerfile. Par exemple, pour mettre à niveau vers Pandora 3.5.4 :

        # Upgrade the Pandora version
        ENV UPGRADED_CONTAINER_VERSION 3.5.4
        RUN /home/admin/bin/upgradecontainer.sh
  5. Reconstruisez et transférez l'image.

Définir les paramètres de démarrage JVM

Transmettez les paramètres JVM via la variable d'environnement JAVA_OPTS :

FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas:latest

# Set JVM memory parameters
ENV JAVA_OPTS="\
     -Xmx3550m \
     -Xms3550m \
     -Xmn2g \
     -Xss128k"

Configurer les paramètres Spring Boot

Pour les applications FatJar, modifiez les paramètres de démarrage de Tomcat via la variable d'environnement APP_ARGS. L'image de base utilise les valeurs par défaut suivantes :

Paramètre Valeur par défaut
Context path /
Encodage URI ISO-8859-1
Port 8080
Nombre maximal de threads Tomcat 400

Remplacez ces valeurs par défaut si nécessaire :

FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas:latest

# Override Spring Boot defaults
ENV APP_ARGS="--server.context-path=/  \
              --server.tomcat.uri-encoding=ISO-8859-1 \
              --server.port=8080 \
              --server.tomcat.max-threads=400"

Construire et transférer l'image

Construire l'image

  1. Ouvrez un terminal et accédez au répertoire contenant votre Dockerfile.

  2. Exécutez la commande docker build pour créer l'image. Exemple : si votre Dockerfile porte un nom non standard ou se trouve à un emplacement différent, spécifiez-le avec l'option -f :

        docker build -t <app-name>:<version> .
        docker build -t hsf-provider:1.0.0 .
        docker build -t hsf-provider:1.0.0 -f /path/to/custom_dockerfile .
  3. Vérifiez que l'image a bien été créée :

        docker images | grep hsf-provider

Transférer l'image vers Container Registry

Une fois l'image construite, transférez-la vers Alibaba Cloud Container Registry.

Configurer un dépôt

  1. Connectez-vous à la console Container Registry.

  2. Sur la page Instances, basculez vers la région où votre application EDAS est exécutée (ou celle où vous prévoyez de la créer).

  3. Sélectionnez une instance, puis cliquez sur Repositories dans le volet de navigation de gauche.

  4. Sélectionnez un dépôt existant ou créez-en un nouveau. Utilisez le nom de l'application comme nom de dépôt pour faciliter son identification.

Transférer l'image

Exécutez les commandes suivantes. Remplacez les espaces réservés par vos valeurs réelles.

Espace réservé Description Exemple
<username> Nom d'utilisateur de connexion à Container Registry td****@gmail.com
<region-id> Région de votre instance Container Registry cn-hangzhou
<image-id> ID de l'image locale obtenu via docker images 2b64f63601a7
<namespace> Namespace Container Registry webapps
<repository> Nom du dépôt hsf-provider
<version> Tag de version de l'image 1.0.0
# Step 1: Log in to Container Registry
# Enter the fixed or temporary password for the default instance in Container Registry, not your Alibaba Cloud account password.
docker login --username=<username> registry.<region-id>.aliyuncs.com

# Step 2: Tag the image
docker tag <image-id> registry.<region-id>.aliyuncs.com/<namespace>/<repository>:<version>

# Step 3: Push the image
docker push registry.<region-id>.aliyuncs.com/<namespace>/<repository>:<version>

Exemple :

docker login --username=td****@gmail.com registry.cn-hangzhou.aliyuncs.com
docker tag 2b64f63601a7 registry.cn-hangzhou.aliyuncs.com/webapps/hsf-provider:1.0.0
docker push registry.cn-hangzhou.aliyuncs.com/webapps/hsf-provider:1.0.0

阿里云镜像仓库

Pour accélérer le réseau d'un dépôt d'images Alibaba Cloud, procédez comme suit : connectez-vous à la console Container Registry. Dans le volet de navigation de gauche, cliquez sur Image Tool, puis sur Image Accelerator. Sur la page Image Accelerator, récupérez la valeur du paramètre Booster URL.

Accélérer le téléchargement des images avec Image Accelerator

  1. Connectez-vous à la console Container Registry.

  2. Dans le volet de navigation de gauche, cliquez sur Image Tool, puis sur Image Accelerator.

  3. Sur la page Image Accelerator, récupérez l'URL indiquée sous Booster URL.

Variables d'environnement d'exécution

EDAS injecte des variables d'environnement dans chaque pod via un ConfigMap Kubernetes nommé edas-envs. Ne remplacez pas ces valeurs.

Variables de configuration du service

Variable d'environnement Type Description
EDAS_ADDRESS_SERVER_DOMAIN String Nom de domaine ou adresse IP du centre de configuration
EDAS_ADDRESS_SERVER_PORT String Port du centre de configuration
EDAS_CONFIGSERVER_CLIENT_PORT String Port de ConfigServer

Variables d'exécution de l'application

Variable d'environnement Type Description
POD_IP String Adresse IP du pod
EDAS_APP_ID String ID de l'application EDAS
EDAS_PROJECT_NAME String Identique à EDAS_APP_ID ; utilisé pour l'analyse des traces
EDAS_JM_CONTAINER_ID String Identique à EDAS_ECC_ID ; utilisé pour l'analyse des traces
EDAS_CATALINA_OPTS String Paramètres CATALINA_OPTS pour l'exécution du middleware
CATALINA_OPTS String Identique à EDAS_CATALINA_OPTS ; paramètre de démarrage Tomcat par défaut
CATALINA_HOME String Chemin d'installation de Tomcat
PANDORA_LOCATION String Chemin d'installation de Pandora (applications HSF uniquement)
Avertissement

N'utilisez pas le fichier /home/admin/.spas_key/default. EDAS écrase ce fichier au démarrage du pod.