Dockerfile üzerinde optimizasyonlar ve multi-stage build'ler

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ย. 2024
  • Go örneğinden yola çıkarak bir docker image'ını 800 MB'dan 2 MB'a indiriyoruz. Bu esnada da Dockerfile'ın birkaç özelliğini ve "scratch" adlı boş image'ı kullanmayı öğreniyoruz.
    ► 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

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

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

    acayip aydınlandım :)

  • @m2tdev
    @m2tdev 2 ปีที่แล้ว

    harika

  • @mustafakeles9752
    @mustafakeles9752 3 หลายเดือนก่อน

    Herşey çok iyi emeğine sağlık. Tek sıkıntım: Abi bu go nedir. Başka bir dil daha iyi olurdu. Docker öğrenmek için bakıyordum . Son bir saattir şu go' nun verdiği hatayla cebelleşiyorum..

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

    Öncelikle konuyu muhtesem bir simplicity ile anlatman harika olmus. Benim söyle bi kac sorum olacak
    1. En son optimize olmus image, production da ve ya development da kullanabilir miyiz? yani herhangi bir handikap sözkonusu olur mu ?
    2. Compilable dillerin hepsini(en azindan C,C++,Java..) bu mantikla kullanabilir miyiz ?
    3. Neden docker run -it degilde docker run -t -i ayri ayri dash ler ile kullaniyorsun merak ettim, var mi nedeni yoksa sadece aliskanlik mi ?

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

      Java icin en azından jvm lazım

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

      1. Evet neden olmasin
      2. Evet neden olmasin :)
      3. Verbosity, halk anlasin diye, zaten “docker run” videomda anlatmistim “dr” diye alias’im var onu kullaniyorum ben.

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

    Merhaba Ahmet. Her 'docker build' yaptigimda su mesaji aliyorum: 'Sending build context to Docker daemon %..'. Yaklasik olarak 1 GB-lik upload yapiyor. Bunu iyilestirme imkani var mi? Tesekkur ederim.

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

      .dockerignore dosyasini kullanmayi ogrenmen gerek.

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

    Yanlış anlamadıysam "go mod download" komutu kendi cache mekanizmasını kullanarak indirilmiş dependency'leri tekrar indirmiyor.
    Docker o layer'ın değişmediğini (sha256 hash kıyaslaması yaparak) görüyor ve kendi cache mekanizmasını kullanıyor.

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

      evet, benim bildiğim kadarıyla çoğu manager bu şekilde çalışıyor zaten.

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

    Multi stage dosyalarda, diğer bi stage geçildiği zaman mı bir önceki stagedeki base image kaldırılıyor yoksa son komut çalışıtırıldıktan sonra kullanılmaya devam edilmeyen imageler mi kaldırılıyor orada nasıl bi garbage mannager sistemi var ?

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

      Genelde docker garbage collection yapmiyor o yuzden genelde siser durur. docker system prune -a calistirmak gerek periyodik olarak.

  • @ramazangCoder
    @ramazangCoder ปีที่แล้ว

    Bu detaylari her yerde göremezsiniz arkadaslar kiymetini bilmek lazim.

  • @teknolojiuzmaniburada
    @teknolojiuzmaniburada 2 ปีที่แล้ว

    Çok üst seviye olmuş sanki :)

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

    Docker anlatanlar niye bunu anlatmaz arkadaş ya

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

    Madem kuculebiliyor neden küçüğünü koymuyorlar bunun :)

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

      Icinde gerekli seyler olabiliyor bazen o yuzden.