Tüm Ürünler
Search
Belge Merkezi

Function Compute:Özel konteyner görüntüleri

Son Güncelleme:Oct 08, 2026

Özel konteyner görüntüleri, işlevlerinizi Function Compute içinde konteyner görüntüleri olarak dağıtmanıza olanak tanır; bu sayede düşük maliyetli geçiş, katmanlı önbellekleme ve CI/CD entegrasyonu mümkün olur.

Avantajlar

Function Compute, işlev teslimatı olarak özel konteyner görüntülerini destekler:

  • Kod değişikliği veya ikili dosyaların yeniden derlenmesi gerektirmeden düşük maliyetli geçiş imkanı sunar. Paylaşılan nesne dosyaları (*.so), geliştirme ve üretim ortamlarının tutarlı kalmasını sağlar.

  • Kodu ve bağımlılıkları birlikte paketleyerek dağıtım ve yayınlama sürecini basitleştirir.

  • Katmanlı önbellekleme sayesinde kod yükleme ve çekme verimliliğini artırır.

  • Üçüncü taraf kütüphanelerin ve kodun standart şekilde oluşturulması, paylaşılması ve sürümlendirilmesi için açık kaynaklı CI/CD araçlarından yararlanmanızı sağlar.

  • Function Compute ile HTTP üzerinden iletişim kurmanıza olanak tanır.

  • Etkileşimli olmayan (non-interactive) görüntüleri çalıştırabilirsiniz.

Çalışma mantığı

Function Compute bir örneği başlatmadan önce, işlevin hizmet rolünü üstlenir ve görüntüyü çekmek için geçici bir kullanıcı adı ve parola edinir. Görüntü çekildikten sonra, belirtilen Command ve Args parametreleriyle konteyner başlatılır.

Konteyner görüntüsü bir HTTP sunucusu içermelidir. Function Compute, yapılandırılan CAPort üzerinden özel HTTP sunucunuzu dinler. Bu sunucu, API çağrıları ve HTTP çağrıları dahil olmak üzere Function Compute yönelik tüm istekleri işler. İşlevler iki şekilde çağrılabilir:

  • Bir API çağrısı ile işlevi çağırma buhuo1containercustom1

  • Bir HTTP isteği ile işlevi çağırma nuhuo2customcintainer2

Sınırlamalar

Görüntü boyutu sınırı

ACR Kişisel Sürüm veya Kurumsal Sürüm (Temel, Standart veya Premium) için sıkıştırılmamış maksimum görüntü boyutu CPU örneklerinde 10 GB, GPU hızlandırmalı örneklerde ise 15 GB'dır.

Görüntü deposu

Function Compute, Container Registry Kişisel Sürüm ve Kurumsal Sürüm depolarındaki görüntüleri destekler.

Not

ACR Ekonomi Sürümü görüntü hızlandırmayı desteklemez ve Function Compute ile uyumlu değildir. ACR Kişisel Sürüm veya Kurumsal Sürüm (Temel, Standart veya Premium) örneklerinden gelen görüntüleri kullanın.

Görüntü erişimi

Aynı bölge içinde yalnızca ACR Kişisel Sürümdeki genel görüntülere hesaplar arası erişim sağlanabilir. Diğer tüm görüntüler, aynı hesap ve bölgedeki özel depolarla sınırlıdır.

Konteynerlerdeki dosya okuma ve yazma izinleri

Konteynerler varsayılan olarak root (UID=0) kullanıcısı olarak çalışır. Dockerfile içinde bir kullanıcı belirtilirse konteyner bu kullanıcıyla çalışır.

Konteynerler için yazılabilir katman depolama sınırı

Konteyner yazılabilir katmanı, işlevin gelişmiş yapılandırmasındaki disk boyutuna bağlı olarak 512 MB veya 10 GB ile sınırlıdır. İşlev oluşturma.

Not

Yazılabilir katman verileri kalıcı değildir ve konteyner yok edildiğinde silinir. Kalıcı depolama için Function Compute içinde bir NAS dosya sistemi veya OSS paketi bağlayın. NAS dosya sistemini yapılandırma. Object Storage Service'i yapılandırma. Tablestore gibi diğer paylaşımlı depolama hizmetleri de desteklenir.

Görüntü mimarisi sınırı

Şu anda Function Compute yalnızca AMD64 görüntülerini destekler. ARM tabanlı makinelerde (örneğin Apple çipli Mac'ler) derleme platformunu linux/amd64 olarak belirtin. Örnek komut: docker build --platform linux/amd64 -t $IMAGE_NAME ..

Not

Doğrulamak için docker inspect komutunu çalıştırın. Çıktıda "Architecture" : "amd64" ifadesi yer alıyorsa görüntü doğrudur.

HTTP sunucusu gereksinimleri

Bu gereksinimler, web sunucusu içeren özel konteyner işlevleri için geçerlidir:

  • HTTP sunucusu 0.0.0.0:CAPort veya *:CAPort adreslerini dinlemelidir. Hizmet 127.0.0.1:CAPort adresini dinlerse istekler zaman aşımına uğrar ve aşağıdaki hata oluşur:

    {
        "ErrorCode":"FunctionNotStarted",
        "ErrorMessage":"TheCA'shttpservercannotbestarted:ContainerStartDuration:25000000000.PingCAfaileddueto:dialtcp21.0.XX.XX:9000:getsockopt:connectionrefusedLogs:2019-11-29T09:53:30.859837462ZListeningonport9000"
    }

    Dinleyici bağlantı noktası varsayılan olarak 9000'dir ve CAPort özelliği ile yapılandırılır. HTTP sunucunuz aynı bağlantı noktasını dinlemelidir.

  • Sunucu, 15 dakika veya daha uzun bir istek zaman aşımı süresiyle Connection: Keep-Alive özelliğini desteklemelidir:

    // For example, when using Express in Node.js.  
    var server = app.listen(PORT, HOST);
    server.timeout = 0; // never timeout
    server.keepAliveTimeout = 0; // keepalive, never timeout
  • HTTP sunucusu 120 saniye içinde başlamalıdır.

Ortak istek üst bilgileri

Özel konteyner görüntüleri, özel çalışma zamanlarıyla aynı istek üst bilgilerini kullanır. Function Compute içindeki ortak istek üst bilgileri.

Günlük biçimi

Özel konteyner görüntülerinden gelen tüm stdout günlükleri, belirttiğiniz Simple Log Service projesi tarafından otomatik olarak toplanır. Günlük kaydı özelliğini yapılandırma.

Özel konteyner görüntüleri, özel çalışma zamanlarıyla aynı günlük biçimini kullanır. İşlev günlük biçimi.

Soğuk başlatma optimizasyonu

Konteyner görüntülerinin indirilmesi ve açılması kod paketlerine göre daha uzun sürer. Soğuk başlatma gecikme süresini azaltmak için:

  • Çekme gecikme süresini azaltmak ve kararlılığı artırmak amacıyla Function Compute ile aynı bölgede bulunan bir VPC görüntü adresi kullanın.

  • Görüntü boyutunu en aza indirin. Alpine veya Ubuntu gibi minimal bir temel görüntü kullanın ve yalnızca gerekli bağımlılıkları ekleyin.

  • Konteynerleri sıcak tutmak için hazırlanmış örnekler kullanın. Minimum örnek sayısı esneklik ilkesini yapılandırma.

  • İş parçacığı güvenli işlevler için, kaynaklarınız izin veriyorsa soğuk başlatmaları ve maliyetleri azaltmak amacıyla tek örnek eşzamanlılığını etkinleştirin. Web işlevi oluşturma.

Faturalama

Özel konteyner görüntüleri, diğer çalışma zamanlarıyla aynı faturalama modelini takip eder. Faturalamaya genel bakış.

Görüntü çekme süresi, kaynağın başlangıcından bitişine kadar hesaplanan kaynak kullanımına dahildir. Örneğin, bir görüntüyü çekmesi 10 saniye süren 1.024 MB'lık bir örnek 10 GB-saniye kullanır.

Görüntüler belirli bir süre önbellekte tutulduğundan çekme ücretleri her soğuk başlatmada uygulanmaz.

İlgili bilgiler