Tüm Ürünler
Search
Belge Merkezi

Enterprise Distributed Application Service:Create an application image

Son Güncelleme:Oct 03, 2026

Yerel geliştirme araçlarını kullanarak bir uygulama için WAR veya JAR paketi oluşturabilir, bu paket temel alınarak bir Docker görüntüsü hazırlayabilir ve uygulamayı dağıtmak üzere bunu bir Alibaba Cloud görüntü deposuna yükleyebilirsiniz. EDAS; HSF (High-speed Service Framework), Spring Cloud ve Dubbo olmak üzere üç uygulama çerçevesi için önceden derlenmiş temel görüntüler sunar. Bu sayede, WAR veya JAR paketinizi görüntünün içine kopyalayan minimum düzeyde bir Dockerfile yazmanız yeterlidir.

Her temel görüntü, belirli bir işletim sistemi, JDK ve Tomcat kombinasyonunu içerir. HSF temel görüntüleri ayrıca Pandora ara katman konteynerini de barındırır.

Ön koşullar

Başlamadan önce aşağıdaki öğelere sahip olduğunuzdan emin olun:

  • Yerel bir Docker kurulumu

  • Dağıtıma hazır bir WAR veya JAR uygulama paketi

  • Görüntü deposuna sahip bir Alibaba Cloud Container Registry örneği

EDAS'in çalışma zamanında enjekte ettiği ortam değişkenleri hakkında bilgi edinmek için bkz. Çalışma zamanı ortam değişkenleri.

Temel görüntü seçin

Uygulama çerçevenize ve çalışma zamanı gereksinimlerinize göre bir temel görüntü seçin.

Temel görüntü Java Tomcat Pandora Kullanım durumu
apaas/edas OpenJDK 1.8 8.5.78 Yok Spring Cloud veya Dubbo (edas-centos-openjdk8-tomcat8 için takma ad)
apaas/edas-centos-openjdk8-tomcat8 OpenJDK 1.8 8.5.78 Yok Tomcat 8.x üzerinde Spring Cloud veya Dubbo
apaas/edas-centos-openjdk8-tomcat7 OpenJDK 1.8 7.0.93 Yok Tomcat 7.x üzerinde Spring Cloud veya Dubbo
apaas/edas-centos-openjdk8-alitomcat8 OpenJDK 1.8 8.5.37 3.5.9 Ali-Tomcat 8.x üzerinde HSF
apaas/edas-centos-openjdk8-alitomcat7 OpenJDK 1.8 7.0.92 3.5.9 Ali-Tomcat 7.x üzerinde HSF
apaas/edas-centos-openjdk8-alitomcat8-v4 OpenJDK 1.8 8.5.37 4.0.2 Ali-Tomcat 8.x üzerinde HSF 4.0
apaas/edas-centos-openjdk8-alitomcat7-v4 OpenJDK 1.8 7.0.92 4.0.2 Ali-Tomcat 7.x üzerinde HSF 4.0
apaas/edas-centos7-openjdk17-tomcat9 OpenJDK 17 9.0.70 Yok OpenJDK 17 + Tomcat 9
apaas/edas-centos7-openjdk17-tomcat10 OpenJDK 17 10.1.41 Yok OpenJDK 17 + Tomcat 10

Tüm görüntüler apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/ adresinde barındırılır ve CentOS 7 üzerinde çalışır. En son etiket latest şeklindedir.

Daha fazla görüntü için aPaaS Docker Hub adresini ziyaret edin. Teknik destek için DingTalk grup kimliği 31723701 numaralı gruba katılın. Bu temel görüntülerin arkasındaki kaynak Dockerfile'lar için GitHub'daki alibabacloud-edas-dockerfile-demo deposuna bakın.

Dockerfile yazın

Bir Dockerfile uygulamanızın görüntüsünü oluşturmak için gereken talimatları tanımlar. EDAS temel görüntüleri JDK, Tomcat ve başlatma betiklerini zaten içerdiğinden, Dockerfile'ın yalnızca uygulama paketinizi görüntünün içine kopyalaması gerekir.

HSF uygulamaları

HSF uygulamaları, Pandora ara katman konteynerini içeren bir Ali-Tomcat temel görüntüsü gerektirir.

# 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

Spring Cloud veya Dubbo uygulamaları

Spring Cloud ve Dubbo uygulamaları, standart EDAS temel görüntüsünü (Pandora olmadan) kullanır.

# 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}/

Görüntüyü özelleştirin

Temel bir Dockerfile oluşturduktan sonra aşağıdaki özelleştirmelerden istediğinizi uygulayabilirsiniz.

OpenJDK sürümünü yükseltin

Daha yeni bir JDK sürümünü doğrudan Dockerfile içine yükleyin. EDAS, özel görüntüler için OpenJDK 21'e kadar olan sürümleri destekler.

Aşağıdaki örnek, önceden yüklenmiş OpenJDK 8'i OpenJDK 9 ile değiştirir:

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

EDAS Konteyner sürümünü yükseltin (yalnızca HSF)

ACK kümelerindeki HSF uygulamaları için yeni ara katman özelliklerine veya düzeltmelere erişmek amacıyla Pandora ve Ali-Tomcat sürümlerini yükseltin.

  1. EDAS konsolunda oturum açın.

  2. Sol gezinme bölmesinde Application Management > Applications seçeneklerini belirleyin.

  3. Applications sayfasında Create Application seçeneğine tıklayın. Basic Information adımının Application Runtime Environment bölümünde kullanılabilir Pandora Version ve Ali-Tomcat Version değerlerini bulun.

  4. Dockerfile'da hedef sürümü ayarlayın. Örneğin, Pandora 3.5.4'e yükseltmek için:

        # Upgrade the Pandora version
        ENV UPGRADED_CONTAINER_VERSION 3.5.4
        RUN /home/admin/bin/upgradecontainer.sh
  5. Görüntüyü yeniden derleyin ve itin.

JVM başlatma parametrelerini ayarlayın

JVM parametrelerini JAVA_OPTS ortam değişkeni aracılığıyla iletin:

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

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

Spring Boot ayarlarını yapılandırın

FatJar uygulamaları için Tomcat başlatma ayarlarını APP_ARGS ortam değişkeni aracılığıyla değiştirin. Temel görüntü aşağıdaki varsayılanları kullanır:

Parametre Varsayılan
Bağlam yolu /
URI kodlaması ISO-8859-1
Bağlantı noktası 8080
Maksimum Tomcat iş parçacığı sayısı 400

Bu varsayılanları gerektiği şekilde geçersiz kılın:

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"

Görüntüyü derleyin ve itin

Görüntüyü derleyin

  1. Bir terminal açın ve Dockerfile'ınızı içeren dizine gidin.

  2. Görüntüyü oluşturmak için docker build komutunu çalıştırın. Örnek: Dockerfile'ınız varsayılan olmayan bir ada veya konuma sahipse, -f bayrağıyla belirtin:

        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. Görüntünün oluşturulduğunu doğrulayın:

        docker images | grep hsf-provider

Görüntüyü Container Registry'ye itin

Görüntüyü derledikten sonra bunu Alibaba Cloud Container Registry'ye itin.

Depo ayarlayın

  1. Container Registry konsolu nda oturum açın.

  2. Instances sayfasında, EDAS uygulamanızın çalıştığı (veya oluşturmayı planladığınız) bölgeye geçiş yapın.

  3. Bir örnek seçin, ardından sol gezinme bölmesinde Repositories seçeneğine tıklayın.

  4. Mevcut bir depoyu seçin veya yeni bir tane oluşturun. Kolay tanımlama için depo adı olarak uygulama adını kullanın.

Görüntüyü itin

Aşağıdaki komutları çalıştırın. Yer tutucuları gerçek değerlerinizle değiştirin.

Yer tutucu Açıklama Örnek
<username> Container Registry oturum açma kullanıcı adı td****@gmail.com
<region-id> Container Registry örneğinizin bulunduğu bölge cn-hangzhou
<image-id> docker images komutundan alınan yerel görüntü kimliği 2b64f63601a7
<namespace> Container Registry ad alanı webapps
<repository> Depo adı hsf-provider
<version> Görüntü sürüm etiketi 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>

Örnek:

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

Bir Alibaba Cloud görüntü deposunun ağ hızını artırmak için aşağıdaki adımları uygulayın: Container Registry konsolunda oturum açın. Sol gezinme bölmesinde Image Tool seçeneğine tıklayın. Ardından Image Accelerator seçeneğine tıklayın. Image Accelerator sayfasında Booster URL parametresinin değerini alın.

Image Accelerator ile görüntü çekme işlemini hızlandırın

  1. Container Registry konsolu nda oturum açın.

  2. Sol gezinme bölmesinde Image Tool seçeneğine, ardından Image Accelerator seçeneğine tıklayın.

  3. Image Accelerator sayfasında Booster URL değerini alın.

Çalışma zamanı ortam değişkenleri

EDAS, her bir pod'a edas-envs adlı bir Kubernetes ConfigMap aracılığıyla ortam değişkenleri enjekte eder. Bu değerleri geçersiz kılmayın.

Hizmet yapılandırma değişkenleri

Ortam değişkeni Tür Açıklama
EDAS_ADDRESS_SERVER_DOMAIN Dize Yapılandırma merkezinin alan adı veya IP adresi
EDAS_ADDRESS_SERVER_PORT Dize Yapılandırma merkezinin bağlantı noktası
EDAS_CONFIGSERVER_CLIENT_PORT Dize ConfigServer bağlantı noktası

Uygulama çalışma zamanı değişkenleri

Ortam değişkeni Tür Açıklama
POD_IP Dize Pod'un IP adresi
EDAS_APP_ID Dize EDAS uygulama kimliği
EDAS_PROJECT_NAME Dize EDAS_APP_ID ile aynıdır; izleme ayrıştırma için kullanılır
EDAS_JM_CONTAINER_ID Dize EDAS_ECC_ID ile aynıdır; izleme ayrıştırma için kullanılır
EDAS_CATALINA_OPTS Dize Ara katman çalışma zamanı için CATALINA_OPTS parametreleri
CATALINA_OPTS Dize EDAS_CATALINA_OPTS ile aynıdır; varsayılan Tomcat başlatma parametresi
CATALINA_HOME Dize Tomcat kurulum yolu
PANDORA_LOCATION Dize Pandora kurulum yolu (yalnızca HSF uygulamaları)
Uyarı

/home/admin/.spas_key/default dosyasını kullanmayın. EDAS, pod başladığında bu dosyanın üzerine yazar.