Tüm Ürünler
Search
Belge Merkezi

CloudOps Orchestration Service:Docker image deployment

Son Güncelleme:Sep 30, 2026

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ı

Önemli
  • 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.

  1. 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.

  2. Otomatikleştirilmiş dağıtım akışı.

    1. 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.

    2. Docker görüntüsünü görüntü deposundan ECS örneğine çeker.

    3. Eski uygulama sürümünü durdurmak için durdurma betiğini çalıştırır.

    4. 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

  1. 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.

    1. 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.
    2. 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.

    3. 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.
  2. Docker görüntüsü dağıtımı oluşturun.

    1. Ö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
    2. ECS konsolu - Uygulama yönetimi sayfasına gidin. Uygulamalarım sekmesinde hedef uygulamanızın adını tıklayın.

    3. Uygulama ayrıntıları sayfasında Deployment sekmesini seçin ve ardından Create Deployment seçeneğini tıklayın.

    4. 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.

        Önemli

        ACR 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
      • Uygulama durdurma betiği:

        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
    5. Tüm parametreleri yapılandırdıktan sonra dağıtımı kaydetmek için Tamam seçeneğini tıklayın.

  3. 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.

  4. Sonucu doğrulayın.

    1. 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.

    2. curl http://localhost:8080/hello komutunu ç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.
Aksi takdirde görüntü genel ağ üzerinden çekilir. Hem ECS örneğinin hem de ACR örneğinin genel ağ erişiminin etkin olduğundan emin olun.







Çalışma dizini

Uygulamanın başlatma ve durdurma betikleri için çalışma dizini.

  • Mutlak bir yol girin.

  • Mevcut olmayan bir dizin girebilirsiniz. Dizim yürütme sırasında otomatik olarak oluşturulur.

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.
Betik, hem mevcut hem de önceki uygulama sürümlerini doğru şekilde durdurmalı ve uygulama çalışmıyorsa sorunsuz bir şekilde çıkmalıdır.







Örneğin, aşağıdaki betik my-container adlı bir konteyneri durdurur. Tüm konteyner sürümlerinin aynı ada sahip olduğunu varsayar ve konteyner mevcut değilse hata bildirmez:

container_name="my-container"
    container_id=$(docker ps -aq -f name=${container_name}) 
    if [ -n "$container_id" ]; then
      docker rm -f $container_id
    fi