27 puan yazan GN⁺ 2024-03-08 | 2 yorum | WhatsApp'ta paylaş
  • Docker imajlarını bağımsız çalışabilen, taşınabilir ikili dosyalara derleyen araç
  • Kullanıcılara docker run, pip install, npm i gibi komutlar olmadan çalıştırılabilir ikili dosyalar sunmayı mümkün kılar

Özellikler

  • Docker imajlarını taşınabilir ikili dosyalara derler.
  • Root yetkisi gerektirmeyen konteynerler.
  • MacOS ve Windows desteği (QEMU kullanarak): planlanıyor
  • x86_64 desteği (arm64 desteği planlanıyor)
  • Argüman desteği
  • -e kullanarak ortam değişkeni belirtme desteği.
  • -v kullanarak volume belirtme desteği.

Kullanım

  • En son sürümden dockerc'i kurun.
  • Docker Hub imajları veya yerel Docker daemon deposundaki imajları kullanarak çıktı ikili dosyasını oluşturun.
  • Oluşturulan ikili dosya normal bir ikili dosya gibi çağrılabilir.
  • -e ve -v seçenekleri, docker run kullanırken olduğu gibi belirtilebilir.
  • Konteyner içinde çalışan ağ servislerine doğrudan erişilebilir, -p belirtmek gerekmez.
  • İmaj yükleme için Skopeo kullanılır; diğer konumlar için ilgili belgelere bakın.

GN⁺ görüşü

  • dockerc, Docker'ın kullanılabilirliğini önemli ölçüde artırabilecek bir araç; kullanıcıların karmaşık kurulum süreçleri olmadan uygulamaları çalıştırmasına imkan tanır. Bu özellikle teknik olmayan kullanıcılar için çok faydalı olabilir.
  • Docker imajlarını ikili dosyalara derleme özelliği dağıtım ve devreye almayı basitleştirir; bu da geliştiriciler ve sistem yöneticileri için zaman tasarrufu ve verimlilik sağlar.
  • Ancak bu teknolojinin yaygın olarak benimsenmesi için güvenlik, performans ve uyumlulukla ilgili sorunların yeterince çözülmesi gerekir. Örneğin, derlenen ikili dosyaların özgün Docker imajları kadar güvenli olup olmadığı ve tüm sistemlerde sorunsuz çalışıp çalışmadığı doğrulanmalıdır.
  • Docker'a benzer işlevler sunan diğer projeler arasında, root yetkisi olmadan konteyner çalıştırma özelliği sağlayan Podman da bulunur.
  • dockerc'i kullanmaya başlarken mevcut Docker iş akışlarıyla entegrasyon, imajların güncellenmesi ve yönetimi ile derlenmiş ikili dosyaların boyutu ve performansı gibi noktalar dikkate alınmalıdır. Bu teknolojinin sağladığı avantajlar dağıtımın sadeleşmesi ve kullanım kolaylığıdır; buna karşılık derleme sürecinde oluşabilecek ek yük ve olası uyumluluk sorunları dikkatle değerlendirilmelidir.

2 yorum

 
cosine20 2024-03-11

O, oldukça ilginç görünüyor.

 
GN⁺ 2024-03-08

Hacker News görüşleri

  • Bu gerçekten harika bir iş.

    • Kullanıcı, Docker kurulumunu daha dağıtılabilir hale getirmeye çalışıyor. Şu anda QEMU konteyneri içinde, Docker konteyneri içinde, Python ortamında çalışan basit bir Python betiğiyle tıklamaları otomatikleştiriyor ve netcat kullanıyor. Dosya boyutu 20 GB; günümüz standartlarına göre oldukça hafif.
  • Geçmişte nix-bundle¹ ya da onun resmî karşılığı olan nix bundle² araçlarını kullandım ve tavsiye ettim.

    • Bu araçlar, Docker imajlarını doğrudan yönetme adımını atlamayı sağlıyor. Özellikle Docker imajı oluşturmanın zor olduğu ya da sürecin unutulmuş bir sanat haline geldiği durumlarda kullanışlı.
    • nix bundle, şişkin çalıştırılabilir dosyaların yanı sıra Docker imajları, AppImage'lar ve birkaç farklı imaj/çalıştırılabilir biçimi daha üretebiliyor.
  • Yerleşik bir işletim sistemiyle birlikte taşınabilir çalıştırılabilir dosyalara geri dönmek gerçekten güzel.

    • "Benim bilgisayarımda çalışıyor" sözünü, sorun giderme cehenneminin yepyeni bir seviyesine taşıyor. Buna rağmen proje harika.
  • Kullanıcı, insanların bunları çalıştıran Docker konteynerlerini üreten Dockerfile'ları göndermeye başlamasını bekliyor.

  • Burada büyük bir kozmik ironi var.

    • Derleme veya kurulum gerekmeksizin sadece çalıştırılabilir dosya istemeye dair bölümün hemen ardından, bu projeyi derlemek için gereken Zig büyüsü geliyor.
  • Bu harika bir ilerleme, Nils! AGI House'ta konuştuktan sonra projenin geldiği noktayı görmek sevindirici.

    • dockerc, Zig + crun + squashfs/overlayfs kullanıyor. Nils (yazar) bu başlıkta daha fazla bilgi paylaştı.
  • Hâlâ farklı mimariler için farklı şeylere ihtiyaç var.

    • Bu noktada, statik derleme yapıp sanal dosya sistemini içine gömmek daha iyi olabilir diye düşünüyor. Bu, aslında Sun'ın 90'larda yaptığı şeye oldukça benziyor.
  • Güzel fikir! Bu gerçekte nasıl çalışıyor?

    • Kullanıcı, bunun özel bir yükleyici + Docker + imajı çalıştırılabilir bir ikili dosya içinde sarmalamak olduğunu tahmin ediyor.
  • Lant görselinin kullanılması hoş.

    • Bir sonraki Lant görseli muhtemelen "Bir çalıştırılabilir dosyayı çalıştırdığınızda, o uygulamayı içeren bir pencere açılmalı" diyecek.
  • Bu ne anlama geliyor? Kullanıcıların Ruby kurmadan taşınabilir bir Ruby çalıştırılabilir dosyası dağıtabilmesi mi?