Docker image'larına derin bakış: Registry'ler ve Image Layer'lar

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ย. 2024
  • Docker image'ları aslında diskte nasıl saklanıyor? Layer nedir, bir layer'ın içine nasıl bakarız? Bir image'ı internetteki bir registry'e nasıl push ederiz? İnternetteki bir image'ın özelliklerini nasıl okuruz?
    Videoda bahsettiğim linkler
    - hub.docker.com/
    - gcr.io/
    - github.com/wag...
    - github.com/goo...
    ► Yeni videolardan haberdar olmak için Subscribe olmayı unutmayın.
    ► Merak ettiklerinizi yorum olarak ekleyin ve tartışalım.
    ► Kanala destek için arkadaşlarınızla ve meslektaşlarınızla paylaşın.
    / ahmetb

ความคิดเห็น • 14

  • @sarial
    @sarial 2 ปีที่แล้ว +1

    o kadar araştırma felan hepsi teoride kalırken sistemi anlatışın felan çok hoşuma gitti hocam sen anlat günlerce dinlerim hem kafamda canlandırıp hem böyle güzel anlatınca bayıldım. Ellerine sağlık

  • @denizgursoy672
    @denizgursoy672 4 ปีที่แล้ว +3

    Gömlek muhteşem, söylemeden geçemeyeceğim :)

  • @adisoyadi5497
    @adisoyadi5497 4 ปีที่แล้ว +3

    Video ve gömlek harika :D Burada sormak istediğim bir nokta var.Aslında her layer ayrı tarball olarak saklanıyor ve imajı pull ettiğimizda tarballar açılarak bir pivot dosya sistemi ve alt layerlarından oluşan bir yapı karşımıza çıkıyor.Peki bir imajı run ettiğimizde bu imajın dosya sisteminde bir kopyası mı oluşturuluyor yoksa memory üzerinde çalışan bir instance mı açılıyor ? Yani docker run işlemi OS tarafında nasıl handle ediliyor ?

    • @ahmetb
      @ahmetb  4 ปีที่แล้ว +1

      Imaj calistirildiginda bu layerlarin extract edildigi yer root fs oluyor. Uzerine gecici bir layer ekleniyor containera ozel “scratch filesystem” dedigimiz. Diskte saklaniyor bu. Yani kopyasi olusturulmuyor extract edilen directorynin.

    • @adisoyadi5497
      @adisoyadi5497 4 ปีที่แล้ว +2

      @@ahmetb Anladım.Yani bu katmanlar readonly olarak duruyor ve container içinde Running durumda iken yapılan değişiklikler oluşturulan bu yeni katmana yazılıyor.Aslında bu son katmanı kopyalanıp başka bir storage'da yedeklenebilir.Hemen github'da bir repo oluşturayım bununla ilgili :D

    • @ahmetb
      @ahmetb  4 ปีที่แล้ว +1

      Aynen oyle calisiyor. “Docker commit” komutu ile scratch fs layer olarak kaydediliyor zaten ama ben bu kullanma tarzini tavsiye etmem

    • @ogunack7549
      @ogunack7549 4 ปีที่แล้ว +2

      "Union File System" ve "Copy-on-Write Mechanism" konularını araştırırsan daha iyi anlarsın. Zamanında anlamak için epey uğraşmıştım şimdi aklıma geldi birden :)

    • @adisoyadi5497
      @adisoyadi5497 4 ปีที่แล้ว +1

      @@ogunack7549 Araştıracağım çok teşekkürler.

  • @ogunack7549
    @ogunack7549 4 ปีที่แล้ว

    Public olan image'lerin layer'leri kullanıcılar arasında paylaşımlı oluyor sanırım.
    Official Ubuntu image'ini indirip kendi docker hub hesabıma push ettiğimde layer'ları tekrar upload etmedi. Sadece benim hesabımdan o layer'lara referans ekledi galiba :)

    • @ahmetb
      @ahmetb  4 ปีที่แล้ว +1

      Aynen öyle.

  • @edeger
    @edeger 4 ปีที่แล้ว

    Macos'da kullandigin vazgecilmezin olan uygulamalar neler abi?

    • @berkansasmaz
      @berkansasmaz 4 ปีที่แล้ว

      Bu repository' e bakmanı tavsiye ederim. github.com/ahmetb/dotfiles

    • @edeger
      @edeger 4 ปีที่แล้ว +1

      @@berkansasmaz Dotfilesleri inceledim lakin gerek alfred extensionlari gerek window tiling manager gibi programlardan neleri kullandigini merak ediyorum.

    • @ahmetb
      @ahmetb  4 ปีที่แล้ว +1

      Brewfile’da yaziyor hepsi.