2016-03-31 13 views
6

Bu bilgiyi Docker resmi belgelerinde bulmayı denedim, ancak hiç başarı elde edemedim.Docker, her katmanın karmasını nasıl hesaplar? Belirleyici mi?

Her bir taahhüt/katmanın karması hesaplanırken Docker hangi bilgileri hesaba katar?

Dockerfile'daki satırın, karma işlemin bir parçası olduğu ve tabii ki, ana işlem karmasının bir parçası olduğu gayet açıktır. Fakat bu karma hesaplanırken başka bir şey hesaba katılır mı?

Beton kullanım durumu: Aynı makineye, farklı Docker dosyalarına göre farklı zaman noktalarında (ve bu nedenle farklı docker daemonları ve farklı önbellekler) çalışan iki devimin var olduğunu düşünelim. $ docker build .... FROM ... yönergesi, onlara aynı başlangıç ​​noktasını verecek, ancak her işlemin sonuç karesi aynı karta sahip olacak mı? Belirleyici mi?

+1

Docker 1.10 yeni ilişkisel depolama modeli kişiye: derinlemesine https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/ – molivier

+1

fazla bkz bilgi tasarım belgesinde bulunabilir; https://gist.github.com/aaronlehmann/b42a2eaf633fc949f93b#id-definitions-and-calculations – thaJeztah

+0

Teşekkürler @molivier ve @thaJeztah! Çok iyi okunan! Görünüşe göre bu soru beklediğimden çok daha derin. –

cevap

0

Teşekkürler @thaJeztah. (Sıkıştırılmamış tabaka katran verileri)

  • layer.ChainID DiffID = SHA256hex: tek bir tabaka

    hesaplanması için numarası:

  • layer.DiffID https://gist.github.com/aaronlehmann/b42a2eaf633fc949f93b#id-definitions-and-calculations

      içinde cevap ID bir katman ve ebeveynleri. Bu ID, bir dizi katmandan oluşan bir dosya sistemini benzersiz olarak tanımlar.

      Hesaplama: diğer tabakalar için ChainID (layer0) = DiffID (layer0)

    1. : alt katman için

      • ChainID (layerN) = SHA256hex (ChainID (layerN-1) + "" + DiffID (layerN))
    2. image.ID: bir görüntü için İD. Görüntü yapılandırması, görüntünün kullandığı katmanlara referans verdiğinden, bu ID, dosya sistemi verilerini ve görüntü konfigürasyonunun kalanını içerir.

      hesaplanması: SHA256hex (imageConfigJSON)

  • İlgili konular