Gunakan jenis penerapan ini untuk memublikasikan aplikasi dari citra Docker yang disimpan dalam instans Container Registry (ACR) Edisi Perusahaan.
Untuk menerapkan dari Edisi Personal ACR atau repositori citra pihak ketiga, gunakan penerapan berbasis perintah saja.
Cara kerja
Jika Anda menerapkan ke grup penskalaan ESS, aktivitas penskalaan dijeda selama penerapan dan secara otomatis dilanjutkan setelah penerapan selesai, baik berhasil maupun gagal.
Proses penerapan pertama-tama menghentikan versi lama, lalu menjalankan versi baru. Setiap penerapan menjalankan skrip stop sebelum skrip start.
Citra Docker secara otomatis ditarik ke instans Elastic Compute Service (ECS) selama penerapan. Jangan sertakan perintah pull citra dalam skrip start.
Buat dan publikasikan penerapan.
Konfigurasikan file sumber aplikasi, skrip start, dan skrip stop untuk penerapan.
Buat tugas rilis, pilih mode rilis, lalu publikasikan penerapan ke kelompok aplikasi target.
Alur penerapan otomatis.
Mengambil informasi penerapan, termasuk detail citra Docker serta skrip start dan stop aplikasi.
Menarik citra Docker dari repositori citra ke instans ECS.
Menjalankan skrip stop untuk menghentikan versi lama aplikasi.
Menjalankan skrip start untuk menjalankan versi baru aplikasi.
Lingkup
Penerapan hanya didukung pada instans Linux.
Skrip start dan stop harus berupa skrip Shell.
Prosedur
Persiapkan aplikasi, kelompok, dan instans ECS.
Sebelum menerapkan, buat aplikasi dan kelompok di ECS Application Management, lalu tambahkan instans ECS Anda ke kelompok tersebut.
Jika belum memiliki instans ECS, buat satu yang menjalankan sistem operasi Linux melalui halaman Konsol ECS - Custom Launch.
Disarankan menggunakan citra ECS Alibaba Cloud Linux 3.2104 LTS 64-bit atau Ubuntu 22.04 64-bit. Skrip pada contoh berikut didasarkan pada kedua citra ini. Jika menggunakan citra berbeda, sesuaikan skripnya sesuai kebutuhan.
Buka halaman Konsol ECS - Application Management, klik Create from Existing Resources, buat aplikasi dan kelompok aplikasi, lalu impor instans ECS ke dalam kelompok aplikasi.
Instal Docker pada instans ECS dalam kelompok tersebut. Pada tab O&M kelompok aplikasi, pilih ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL untuk menginstal Docker secara batch.
Jika instans ECS Anda dibuat dari custom image, Anda tidak dapat menginstal ekstensi dengan cara ini. Anda harus terhubung secara remote ke instans tersebut dan menginstal Docker secara manual.
Buat penerapan citra Docker.
Tarik contoh citra ke mesin lokal Anda, lalu dorong citra tersebut ke repositori instans ACR Edisi Perusahaan Anda.
docker pull aliyun-computenest-opensource-registry.cn-hangzhou.cr.aliyuncs.com/default/aliyun-code-deploy:latestBuka halaman Konsol ECS - Application Management. Pada tab My Applications, klik nama aplikasi target.
Pada halaman produk aplikasi, pilih tab Deployment, lalu klik Create Deployment.
Pada halaman Create Deployment, atur RevisionType ke Docker Image, lalu konfigurasikan parameter kunci berikut.
Informasi instans ACR: Masukkan detail instans ACR Edisi Perusahaan Anda. Setelah memasukkan versi citra, sistem akan secara otomatis menghasilkan Registry Address. Gunakan alamat ini dalam skrip start aplikasi.

Working directory: Direktori eksekusi untuk skrip start dan stop aplikasi. Contoh:
/root/deploy.Skrip start aplikasi: Ganti
<Registry Address>dengan alamat aktual.### Citra Docker secara otomatis ditarik ke instans ECS selama penerapan. Anda dapat langsung menjalankan kontainer. ### Jalankan versi saat ini dari kontainer function start_application() { image_name="<Registry Address>" container_name="my-container" docker run -d -p 8080:8080 --name ${container_name} ${image_name} } start_applicationfunction stop_application() { # Periksa apakah kontainer ada berdasarkan nama kontainer, dan hapus kontainer jika ada container_name="my-container" container_id=$(docker ps -aq -f name=${container_name}) if [ -n "$container_id" ]; then docker rm -f $container_id fi } stop_application
Setelah mengonfigurasi semua parameter, klik OK untuk menyimpan penerapan.
Kembali ke daftar penerapan. Temukan penerapan yang telah Anda buat dan klik Publish. Pilih kelompok target, lalu klik OK untuk memulai penerapan.
Verifikasi hasilnya.
Buka halaman detail instans target. Klik Connect dan pilih Workbench. Ikuti petunjuk pada halaman untuk login ke terminal.
Jalankan perintah
curl http://localhost:8080/hello. Nilai kembaliAlibaba Spring Sample!menunjukkan bahwa penerapan berhasil.
Bidang kunci
Field | Description |
Container Registry region | Wilayah tempat instans ACR Edisi Perusahaan berada. |
Container Registry instance ID | ID instans ACR Edisi Perusahaan |
Namespace | Namespace tempat repositori citra berada. |
Repository name | Nama repositori citra. |
Image version | Versi citra Docker yang akan diterapkan. |
Pull image over private network | Jika Anda memilih untuk menarik citra melalui jaringan pribadi, pastikan instans ACR dan instans ECS berada dalam virtual private cloud (VPC) yang sama. Anda juga harus telah mengonfigurasi kontrol akses untuk VPC. |
Working directory | Direktori kerja untuk skrip start dan stop aplikasi.
|
Application start script | Skrip Shell yang digunakan untuk menjalankan aplikasi. |
Application stop script | Skrip Shell untuk menghentikan aplikasi. Sebagai contoh, skrip berikut menghentikan kontainer bernama |