Uygulamaları, Container Registry (ACR) Kişisel veya Kurumsal Sürümünde depolanan Docker görüntülerinden dağıtın.
Üçüncü taraf bir görüntü deposundan dağıtım yapmak için yalnızca komut içeren bir dağıtım kullanın.
Çalışma mekanizması
Bir ESS ölçeklendirme grubuna dağıtım yapıyorsanız, dağıtım sırasında ölçeklendirme etkinlikleri askıya alınır. Dağıtım başarılı olsun veya olmasın, tamamlandıktan sonra etkinlikler otomatik olarak devam eder.
Dağıtım süreci önce eski sürümü durdurur, ardından yeni sürümü başlatır. Her dağıtım, başlatma betiğini çalıştırmadan önce durdurma betiğini yürütür.
Docker görüntüsü, dağıtım sırasında Elastic Compute Service (ECS) örneğine otomatik olarak çekilir. Başlatma betiğine görüntü çekme komutu eklemeyin.
-
Dağıtım oluşturun ve yayınlayın.
OSS'teki uygulama kaynak dosyasının konumunu, başlatma ve durdurma betikleriyle birlikte belirtin.
Bir sürüm görevi oluşturun, bir sürüm modu seçin ve dağıtımı hedef uygulama grubuna yayınlayın.
-
Otomatikleştirilmiş dağıtım akışı.
Dağıtım bilgilerini alır. Bu bilgiler, Docker görüntüsü ayrıntılarını ve uygulamanın başlatma ile durdurma betiklerini içerir.
Docker görüntüsünü görüntü deposundan ECS örneğine çeker.
Eski uygulama sürümünü durdurmak için durdurma betiğini çalıştırır.
Yeni uygulama sürümünü başlatmak için başlatma betiğini çalıştırır.
Kullanım notları
Dağıtımlar yalnızca Linux örneklerde desteklenir.
Başlatma ve durdurma betikleri kabuk betiği olmalıdır.
Yordam
-
Uygulamayı, grubu ve ECS örneklerini hazırlayın.
Dağıtım yapmadan önce ECS Uygulama Yönetimi'nde bir uygulama ve bir grup oluşturun. Ardından ECS örneklerinizi gruba ekleyin.
-
Bir ECS örneğiniz yoksa ECS konsolu - Özel Başlatma sayfasına giderek bir Linux ECS örneği oluşturun.
Aşağıdaki örnek betikler bu görüntüler için geçerlidir. Farklı bir görüntü kullanıyorsanız betikleri buna göre değiştirmeniz gerekir.
ECS konsolu - Uygulama yönetimi sayfasına gidin ve Create from Existing Resources seçeneğini tıklayarak bir uygulama ve bir uygulama grubu oluşturun; ardından ECS örneğini uygulama grubuna aktarın.
-
Gruptaki ECS örneklerine Docker yükleyin. Uygulama grubunun O&M sekmesinde ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL öğesini seçerek Docker'ı toplu iş halinde yükleyin.
ECS örneğiniz özel bir görüntüden oluşturulduysa uzantıları bu şekilde yükleyemezsiniz. Örneğe uzaktan bağlanmanız ve Docker'ı manuel olarak yüklemeniz gerekir.
-
-
Docker görüntüsü dağıtımı oluşturun.
-
Örnek görüntüyü yerel makinenize çekin ve ardından görüntüyü bir ACR Kurumsal Sürümü veya ACR Kişisel Sürümü deposuna gönderin.
docker pull aliyun-computenest-opensource-registry.cn-hangzhou.cr.aliyuncs.com/default/aliyun-code-deploy:latest ECS konsolu - Uygulama yönetimi sayfasına gidin. Uygulamalarım sekmesinde hedef uygulamanızın adını tıklayın.
Uygulama ayrıntıları sayfasında Deployment sekmesini seçin ve ardından Create Deployment seçeneğini tıklayın.
-
Create Deployment sayfasında Deployment Type alanını Docker Image olarak ayarlayın ve aşağıdaki anahtar alanları yapılandırın.
-
ACR örnek bilgileri: ACR örnek bilgilerini girin. Görüntü sürümünü girdikten sonra sistem otomatik olarak bir görüntü adresi oluşturur. Bu adresi uygulama başlatma betiğinde kullanın.
ÖnemliACR Kişisel Sürümü kullanıyorsanız uygulama ayrıntıları sayfasının gelişmiş ayarlarında ACR Kişisel Sürümünüz için kullanıcı adını ve parolayı yapılandırın.
Çalışma dizini: Uygulama başlatma ve durdurma betiklerinin yürütüleceği dizin. Örnek:
/root/deploy.-
Uygulama başlatma betiği:
<Kayıt Defteri Adresi>değerini gerçek adresle değiştirin.### The Docker image is automatically pulled to the ECS instance during deployment. You can start the container directly. ### Start the current version of the container start_application() { image_name="<Registry Address>" container_name="my-container" docker run -d -p 8080:8080 --name ${container_name} ${image_name} } start_application -
stop_application() { # Query whether the container exists by the container name, and delete the container if it exists 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
-
Tüm parametreleri yapılandırdıktan sonra dağıtımı kaydetmek için Tamam seçeneğini tıklayın.
-
Dağıtım listesine dönün, oluşturduğunuz dağıtımı bulun ve Deploy seçeneğini tıklayın. Hedef grubu seçin ve dağıtımı başlatmak için OK seçeneğini tıklayın.
-
Sonucu doğrulayın.
Hedef örneğin ayrıntıları sayfasına şuraya gidin: Connect seçeneğini tıklayın ve Workbench seçeneğini belirleyin. Terminale erişmek için ekrandaki talimatları izleyin.
curl http://localhost:8080/hellokomutunu çalıştırın.Alibaba Spring Sample!yanıtı, dağıtımın başarılı olduğunu gösterir.
Anahtar alanlar
|
Alan |
Açıklama |
|
Container Registry bölgesi |
ACR örneğinin bulunduğu bölge. |
|
Container Registry örnek kimliği |
ACR Kurumsal Sürümü örnek kimliği |
|
Ad alanı |
Görüntü deposunun bulunduğu ad alanı. |
|
Depo adı |
Görüntü deposunun adı. |
|
Görüntü sürümü |
Dağıtılacak Docker görüntüsü sürümü. |
|
Görüntüyü özel ağ üzerinden çek |
Seçiliyse ACR örneği ile ECS örneği aynı Virtual Private Cloud (VPC) içinde olmalı ve VPC için erişim kontrolünü yapılandırmanız gerekir. |
|
Çalışma dizini |
Uygulamanın başlatma ve durdurma betikleri için çalışma dizini.
|
|
Uygulama başlatma betiği |
Uygulamayı başlatmak için kullanılan Kabuk betiği. |
|
Uygulama durdurma betiği |
Uygulamayı durdurmak için kullanılan kabuk betiği. Örneğin, aşağıdaki betik
|