全部产品
Search
文档中心

Enterprise Distributed Application Service:Buat gambar aplikasi

更新时间:Oct 21, 2025

Anda dapat menggunakan alat pengembangan lokal untuk membuat paket WAR atau JAR aplikasi. Selanjutnya, buat gambar berdasarkan paket tersebut dan unggah ke repositori gambar Alibaba Cloud untuk menyebarkan aplikasi. Topik ini menjelaskan cara membuat gambar aplikasi Enterprise Distributed Application Service (EDAS) dengan menulis Dockerfile serta cara mengunggah gambar ke repositori gambar Alibaba Cloud.

Prasyarat

Pastikan Anda telah membaca Lampiran: Variabel Lingkungan selama Runtime dan instruksi yang dijelaskan dalam topik ini.

Catatan penggunaan

Kunjungi GitHub untuk melihat contoh Dockerfile dan gambar yang digunakan dalam topik ini.

Spesifikasi dan batasan

Sebelum menggunakan Dockerfile untuk membuat gambar aplikasi EDAS, pastikan spesifikasi berikut terpenuhi dan perhatikan batasan yang ada:

  • Informasi Layanan

    Informasi layanan mencakup nama domain EDAS dan port yang digunakan untuk terhubung selama runtime.

    Tabel 4. Sumber Daya

    Jenis sumber daya

    Nama sumber daya

    Deskripsi

    ConfigMap

    edas-envs

    Informasi layanan EDAS.

    Tabel 5. Variabel Lingkungan

    Kunci variabel lingkungan

    Tipe

    Deskripsi

    EDAS_ADDRESS_SERVER_DOMAIN

    String

    Nama domain atau alamat IP layanan pusat konfigurasi.

    EDAS_ADDRESS_SERVER_PORT

    String

    Port layanan pusat konfigurasi.

    EDAS_CONFIGSERVER_CLIENT_PORT

    String

    Port layanan ConfigServer.

  • Diperlukan: Variabel lingkungan selama runtime aplikasi

    EDAS menyediakan variabel lingkungan saat Anda menyebarkan aplikasi untuk memastikan aplikasi berjalan sesuai harapan. Kami sarankan agar Anda tidak menimpa pengaturan variabel lingkungan. Untuk informasi lebih lanjut, lihat Lampiran: Variabel Lingkungan selama Runtime.

Buat Dockerfile standar

Dockerfile adalah file konfigurasi teks yang digunakan untuk membuat gambar secara efisien.

Gunakan Dockerfile untuk membuat gambar untuk High-speed Service Framework (HSF), Spring Cloud, atau aplikasi Dubbo sesuai kebutuhan bisnis Anda. Contoh berikut menjelaskan cara membuat Dockerfile untuk aplikasi dengan framework berbeda.

EDAS menyediakan Dockerfile standar yang mencakup semua instruksi untuk membangun lingkungan runtime aplikasi di EDAS. Instruksi ini membantu Anda memahami cara mengunduh, menginstal, dan menjalankan komponen seperti OpenJDK, Tomcat, serta paket WAR dan JAR. Anda dapat memodifikasi Dockerfile sesuai kebutuhan, misalnya mengganti versi OpenJDK, menyesuaikan konfigurasi Tomcat, atau mengubah lingkungan runtime. Untuk informasi lebih lanjut tentang OpenJDK, lihat Gambar Kustom: Gunakan OpenJDK Terbaru.

Untuk informasi lebih lanjut tentang Dockerfile, lihat bagian berikut:

Contoh Dockerfile untuk aplikasi HSF

# Menggunakan centos7 + openjdk8 + ali tomcat7 + pandora 3.5.9 sebagai dasar
FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-alitomcat7:latest
MAINTAINER Tim EDAS Alibaba Cloud<edas-**@list.alibaba-inc.com>

ENV TZ="Asia/Shanghai"

# Secara default letakkan paket aplikasi Anda di /home/admin/app/
ENV APP_HOME /home/admin/app/

#####----> Kasus pertama: deploy file fat-jar 
ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/HSF_PROVIDER.jar

#####----> Kasus kedua: deploy file war, cukup ubah nama file yang diinginkan.
#ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/HSF_PROVIDER.war

#####----> Kasus ketiga: deploy file dari penyimpanan lokal.
#ARG APP_LOCATION=/Users/yanliang.lyl/workspace/java/demo/HSF_PROVIDER.war

# Lalu unduh paket ke /home/admin/app/
ADD ${APP_LOCATION} ${APP_HOME}/

# Direktori kerja default diatur ke /home/admin
# WORKDIR /home/admin

# Titik masuk diatur ke /home/admin/bin/start.sh, 
# yang termasuk di dalam image dasar (apaas/edas-centos-openjdk8-alitomcat8)
# CMD ["/home/admin/bin/start.sh"]             

Contoh Dockerfile untuk aplikasi Spring Cloud atau Dubbo

# Menggunakan centos7 + openjdk8 + tomcat8 sebagai dasar
FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas:latest

# Secara default letakkan paket aplikasi Anda di /home/admin/app/
ENV APP_HOME /home/admin/app/

##### GANTI FILE PAKET ANDA SECARA SEDERHANA
#####----> Kasus pertama: deploy file fat-jar 
ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/DUBBO_PROVIDER.jar

#####----> Kasus kedua: deploy file war, cukup ubah nama file yang diinginkan.
#ARG APP_LOCATION=https://edas-hz.oss-cn-hangzhou.aliyuncs.com/prod/demo/DUBBO_PROVIDER.war

#####----> Kasus ketiga: deploy file dari penyimpanan lokal.
#ARG APP_LOCATION=/Users/yanliang.lyl/workspace/java/demo/SPRINT_CLOUD_PROVIDER.war

# Lalu unduh paket ke /home/admin/app/
ADD ${APP_LOCATION} ${APP_HOME}/
            

Deskripsi gambar dasar EDAS

Gunakan salah satu gambar dasar berikut sesuai dengan lingkungan runtime aplikasi Anda.

Nama gambar

Versi OS

Versi Java

Versi Tomcat

Versi Pandora

Deskripsi

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas

CentOS 7

OpenJDK 1.8

8.5.78

N/A

Gambar ini sama dengan apaas/edas-centos-openjdk8-tomcat8. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-tomcat8

CentOS 7

OpenJDK 1.8

8.5.78

N/A

Kami sarankan Anda menggunakan gambar ini untuk aplikasi Spring Cloud atau Dubbo umum. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-tomcat7

CentOS 7

OpenJDK 1.8

7.0.93

N/A

Kami sarankan Anda menggunakan gambar ini untuk aplikasi Spring Cloud atau Dubbo umum yang berjalan di Tomcat 7.x. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-alitomcat8

CentOS 7

OpenJDK 1.8

8.5.37

3.5.9

Kami sarankan Anda menggunakan gambar ini untuk aplikasi HSF yang berjalan di Tomcat 8.x. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-alitomcat7

CentOS 7

OpenJDK 1.8

7.0.92

3.5.9

Kami sarankan Anda menggunakan gambar ini untuk aplikasi HSF yang berjalan di Tomcat 7.x. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-alitomcat8-v4

CentOS 7

OpenJDK 1.8

8.5.37

4.0.2

Kami sarankan Anda menggunakan gambar ini untuk aplikasi HSF 4.0 yang berjalan di Tomcat 8.x. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos-openjdk8-alitomcat7-v4

CentOS 7

OpenJDK 1.8

7.0.92

4.0.2

Kami sarankan Anda menggunakan gambar ini untuk aplikasi HSF 4.0 yang berjalan di Tomcat 7.x. Nomor versi terbaru: latest.

paas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos7-openjdk17-tomcat9

CentOS 7

OpenJDK 17

9.0.70

N/A

Gambar dasar dibangun dengan OpenJDK 17 dan Tomcat 9.0.70. Nomor versi terbaru: latest.

apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas-centos7-openjdk17-tomcat10

CentOS 7

OpenJDK 17

10.1.41

N/A

Gambar dasar dibangun dengan OpenJDK 17 dan Tomcat 10.1.41. Nomor versi terbaru: latest.

Untuk gambar lainnya, kunjungi repositori gambar resmi aPaaS Docker Hub. Jika Anda memerlukan gambar dasar tambahan, bergabunglah dengan grup DingTalk (ID: 31723701) untuk mendapatkan dukungan teknis. Untuk pertanyaan tentang gambar dasar, lihat Dockerfile gambar dasar di GitHub.

Gambar kustom: Gunakan OpenJDK terbaru

Anda dapat menentukan pengaturan kustom dalam Dockerfile standar sesuai kebutuhan bisnis Anda.

Tingkatkan OpenJDK: Unduh dan instal OpenJDK terbaru di Dockerfile. Contoh berikut menunjukkan cara mengunduh dan menginstal OpenJDK 9.

Catatan

Saat menggunakan gambar kustom untuk menyebarkan aplikasi, EDAS mendukung OpenJDK 21.

# Uninstall OpenJDK versi sebelumnya, lalu unduh dan instal OpenJDK 9.
RUN yum erase -y java; yum -y install java-1.9.0-openjdk-devel            

Gambar kustom: Tingkatkan versi Kontainer EDAS untuk aplikasi HSF

Untuk aplikasi HSF yang disebarkan di kluster Container Service for Kubernetes (ACK), tingkatkan versi Kontainer EDAS untuk menggunakan fitur baru middleware atau memperbaiki masalah yang mungkin terjadi di versi sebelumnya. Ikuti langkah-langkah berikut:

  1. Masuk ke .

  2. Di panel navigasi kiri, pilih Application Management > Applications.

  3. Di halaman Applications, klik Create Application. Di bagian Application Runtime Environment dari langkah Basic Information, konfigurasikan parameter Pandora Version dan Ali-Tomcat Version.

  4. Ganti nomor versi di Dockerfile, seperti 3.5.4.

    # Tentukan versi Pandora.
    ENV UPGRADED_CONTAINER_VERSION 3.5.4        
    RUN /home/admin/bin/upgradecontainer.sh            
  5. Buat dan publikasikan gambar aplikasi lagi.

Gambar kustom: Ubah parameter startup JVM di dalam gambar

Variabel lingkungan JAVA_OPTS digunakan untuk mengoper parameter Java Virtual Machine (JVM) berdasarkan gambar dasar. Contoh berikut menunjukkan cara memodifikasi parameter startup JVM:

FROM apaas-registry.cn-hangzhou.cr.aliyuncs.com/apaas/edas:latest
# Konfigurasikan parameter JVM ENV 
    JAVA_OPTS="\
     -Xmx3550m \
     -Xms3550m \
     -Xmn2g \
     -Xss128k" 

Gambar kustom: Ubah konfigurasi aplikasi Spring Boot

Untuk aplikasi FatJar yang dikembangkan berdasarkan gambar dasar EDAS, Anda dapat memodifikasi konfigurasi startup Tomcat, seperti path konteks, port startup, dan parameter lainnya. Parameter ini diteruskan melalui variabel lingkungan APP_ARGS. Contoh berikut menunjukkan cara memodifikasi konfigurasi startup:

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

# Konfigurasi default di gambar dasar:
#    - Path konteks (/) digunakan. 
#    - Pengkodean URI seragam (URI) dalam ISO-8859-1 digunakan.
#    - Aplikasi dimulai pada port 8080. 
#    - Jumlah maksimum kolam thread yang digunakan oleh Tomcat adalah 400.

# Anda juga dapat menulis ulang variabel lingkungan APP_ARGS untuk memodifikasi konfigurasi default. Contoh:
              ENV APP_ARGS="--server.context-path=/  \
              --server.tomcat.uri-encoding=ISO-8859-1 \
              --server.port=8080 \
              --server.tomcat.max-threads=400"

Bangun gambar lokal

  1. Akses direktori tempat Dockerfile berada menggunakan alat baris perintah lokal. Jalankan salah satu perintah docker build berikut untuk membangun gambar:

    docker build -t [Nama label, sebaiknya nama aplikasi]:[Versi].
    docker build -t [Nama label, sebaiknya nama aplikasi]:[Versi] -f /path/to/custom_dockerfile_name. # Perintah ini berlaku jika Dockerfile yang Anda buat berada di lokasi lain atau nama file bukan Dockerfile.

    Contoh:

    docker build -t hsf-provider:1.0.0 .            
  2. Kemudian, jalankan perintah docker images | grep <Nama label gambar> untuk melihat gambar lokal yang telah dibungkus.

Unggah gambar ke repositori gambar

Unggah gambar aplikasi yang dibuat dan dibangun di komputer lokal Anda ke repositori gambar kontainer Alibaba Cloud.

Catatan

Untuk mengunggah gambar ke repositori, ikuti langkah-langkah berikut: Masuk ke konsol Container Registry. Di halaman Instances, beralihlah ke wilayah aplikasi yang dibuat di EDAS atau wilayah tempat Anda ingin membuat aplikasi. Pilih instance sesuai kebutuhan. Di panel navigasi kiri, klik Repositories. Lihat daftar repositori gambar dan pilih repositori gambar yang ada atau buat repositori gambar baru untuk menyimpan gambar aplikasi yang telah Anda bungkus. Kami sarankan Anda menggunakan nama aplikasi sebagai nama repositori untuk kemudahan identifikasi.

Untuk mengunggah gambar lokal ke repositori gambar, jalankan perintah yang digunakan untuk mendorong gambar ke Container Registry. Anda dapat melihat perintah-perintah ini di halaman Details dari repositori gambar tertentu.

docker login --username=[Nama pengguna saat ini] registry.[region_id].aliyuncs.com     # Masukkan kata sandi tetap atau sementara yang digunakan sebagai kredensial akses untuk instance default di Container Registry. Kata sandi ini bukan kata sandi untuk Akun Alibaba Cloud Anda. docker tag [ID gambar aplikasi lokal] registry.[region_id].aliyuncs.com/[Nama namespace]/[Nama repositori]:[Versi gambar]
docker push registry.[region_id].aliyuncs.com/[Nama namespace]/[Nama repositori]:[Versi gambar]            

Contoh:

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            

Untuk mempercepat jaringan repositori gambar Alibaba Cloud, ikuti langkah-langkah berikut: Masuk ke konsol Container Registry. Di panel navigasi kiri, klik Image Tool. Kemudian, klik Image Accelerator. Di halaman Image Accelerator, peroleh nilai parameter Booster URL.

Lampiran: Variabel lingkungan selama runtime

Jika Anda membuat gambar kustom menggunakan Dockerfile, variabel lingkungan tertentu secara otomatis digunakan oleh EDAS selama runtime. Tabel berikut menjelaskan variabel lingkungan ini.

Kunci variabel lingkungan

Tipe

Deskripsi

POD_IP

String

Alamat IP pod.

EDAS_APP_ID

String

ID aplikasi EDAS.

EDAS_PROJECT_NAME

String

Parameter ini sama dengan EDAS_APP_ID. Parameter ini digunakan untuk parsing jejak.

EDAS_JM_CONTAINER_ID

String

Parameter ini sama dengan EDAS_ECC_ID. Parameter ini digunakan untuk parsing jejak.

EDAS_CATALINA_OPTS

String

Parameter CATALINA_OPTS yang diperlukan selama runtime middleware.

CATALINA_OPTS

String

Parameter ini sama dengan EDAS_CATALINA_OPTS. Parameter ini digunakan sebagai parameter startup default Tomcat.

CATALINA_HOME

String

Path Tomcat.

PANDORA_LOCATION

String

Path Pandora, yang dapat dilihat di aplikasi HSF.

Kami sarankan Anda tidak menggunakan file /home/admin/.spas_key/default. File ini ditimpa saat pod berjalan.