2,979 okumalar
2,979 okumalar

İşte hayatımı değiştiren bazı Docker Hacks

ile Pratik Pathak4m2025/05/01
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Docker, Docker tabanlı uygulamaları oluşturmak ve yönetmek için güçlü bir araçtır. Günlük rutinimin bir parçası haline gelmiştir ve artık bunu düşünemiyorum.
featured image - İşte hayatımı değiştiren bazı Docker Hacks
Pratik Pathak HackerNoon profile picture

Okay, bu Docker evrimini parçalayalım.


Docker’ın nasıl hissettiğini hatırlıyor musunuz? O kadar çok komut, o kadar çok kavram. Build, run, push, pull, volumes, networks... kafam dönüyordu.olmalı, ama her zaman biraz sıkıntılı hissettim, biraz ... sürtünme dolu. terminal tarihim sadece bir karışıklık oldudocker ps -ave umutsuzca hatırlamaya çalışıyorbirGeçen hafta gelen komutlar.


Sonra, yavaş yavaş, şeyler tıklamaya başladı. Bir büyük eureka anı değil, küçük "aha!" keşifler serisi. Küçük ipuçları, optimizasyonlar, iş akışının ayarlamaları. Hacks, sanırım? Ve dürüst olmak gerekirse, onlar günlük rutinime o kadar çok girdi ki artık onları düşünemiyorum. Onlar sadece...Şeyleri nasıl yapıyorum.


İşte oynanan değişiklikler:

Terminal Aliases: The Sanity Savers Altyazıları

İlk büyük zafer mi?Aliases.♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️ ♂️docker-compose up -d --buildveyadocker pstekrar tekrar tekrar tekrar? benim içimde basit altyazılar kurmak.bashrcveya.zshrcbir keşif oldu.

# My sanity savers
alias dcu='docker-compose up -d'
alias dcd='docker-compose down'
alias dcb='docker-compose build'
alias dcr='docker-compose run --rm' # For running one-off commands
alias dps='docker ps'
alias dpa='docker ps -a'
alias di='docker images'
alias dip='docker image prune -f'  # Prune dangling images
alias dvp='docker volume prune -f' # Prune unused volumes
alias dsp='docker system prune -af' # The big cleanup! 💥


sadece tipikdcuTüm shebang yerine? Oh, millisecondlar kurtarıldı! Sıradışı geliyor, ama günde onlarca kez çoğaltın... birikiyor. parmaklarım bana teşekkür ediyor. Daha az yazma, daha az yazma, daha fazla akış.


Docker'ın en son cheatsheet'ini buradan alın:Docker Cheatsheet Hakkında

2. Güçlü.dockerignoreDiğer adı: Slimming Down Builds

Ardından gelen.dockerignoreAnasayfa » Güncel Haberler » Diğer Bilgiler.gitignoreTabii ki, ama başlangıçta ne kadar önemli olduğunu anlamadım..dockerignoreÖnceki İçerikDocker’ın yapım aşamasıBu kadar yavaşNeden? çünkü inşaat bağlamı gönderiyorduherşeyDocker Daemon’a geçelim.node_modules, günlükleri, geçici dosyaları, yerel inşaat eserleri... her şey!


Doğru bir yapı oluşturmak.dockerignoreDosya, ihtiyacım olmayan tüm çöpleri listeleyerekiçerideGörüntü oluşturma işlemi? Aniden, oluşturmalar daha hızlıydı. Görüntüler daha küçüktü (bazen dramatik bir şekilde). Docker'a gözlük koymak gibi hissettim ve ona şöyle dedim: "Sadece odaklanınBuDaha az karışıklık, daha hızlı geri bildirim döngüsü.

3. Çeşitli aşamalı binalar: Lean, Mean Production Machines ➡️

Multi-stage builds... tamam, bu başlangıçta biraz daha ileri görünüyordu. Konsept mükemmel, ancak.

  • 1. Adım: Uygulama eserini oluşturmak için gerekli tüm oluşturucu araçları, kompilörleri, SDK'ları ve bağımlılıkları içeren bir temel görüntü kullanın (örneğin, bir kompile edilmiş ikili veya birleştirilmiş JavaScript).
  • 2. Adım: Yeni, temiz, minimal temel bir görüntü başlatın (örneğin alpin veya güvensiz).
  • Kopyalama: Sadece ilk aşamadan bu temiz ikinci aşamaya nihai eser kopyalayın.


Sonuç? Küçük üretim görüntüleri! İnşaat araçları ve dev bağımlılıkları ile şişirilmiş görüntüleri göndermek yerine (ki bu da bir güvenlik riski!).SadeceUygulamayı çalıştırmak için neye ihtiyacım var.Sintax etrafında kafamı sarmak biraz zaman aldı, ama wow, görüntü boyutunda ve güvenlik pozisyonunda fark çok büyük.

Docker Compose Overrides: Taming Environments ️

Hadi konuşalımDocker Compose overrideDosyaları. Farklı ortamları yönetmek acı vericiydi. Dev'in canlı kod yeniden yükleme için monte edilen hacimlere ihtiyacı vardı. Prod farklı çevre değişkenlerine, belki de daha sıkı kaynak sınırlarına, belki de farklı bir giriş noktasına ihtiyacı vardı.docker-compose.ymlkarmaşık, yorumlu bölümleri veya karmaşık bölümleri içerenifÇevre değişkenlerine göre değişkenler.


keşfetmekdocker-compose.override.ymlGüzel bir yerdi. Sizin temeliniz vardocker-compose.ymlBirleşik Konfigürasyon: Daha sonra oluşturundocker-compose.override.yml(Git tarafından genellikle göz ardı edilen.gitignoreKullanacağınız ürünler hakkında bilgi almak için tıklayınız: Kullanacağınız ürünler hakkında bilgi almak için tıklayınız: Kullanacağınız ürünler hakkında bilgi almak için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız: Kullanacağınız ürünler için tıklayınız:overrideBelirli dosyalara sahip olabilirsiniz, örneğindocker-compose.prod.ymlve kullanmak için-fBayrakları :docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -dDaha fazla dev ayarlarının tesadüfen işlenmesi yok!Hallelujah!

5. Düzenli Temizleme: Sistem Tidy tutmak ✨

Son olarak, alışkanlıkregular cleanupDocker toplayabiliro kadar çokDikkatli değilseniz zamanla zorlayabilirsiniz. tehlikeli görüntüler (daha önceki yapılardan etiketlenmiş katmanlar), kullanılmayan hacimler, durdurulan konteynerler, eski yapı önbellekleri... Disk alanım gizemli bir şekilde kayboldu.


Periodik olarak koşmanın ritmine girmekdocker system prune -af(Avrupa yaklaşımı) ya da daha etkilidocker image prunevedocker volume prunevedocker network prunevedocker builder pruneDigital decluttering gibi hissediyor. İşleri düzgün çalıştırır, garip caching sorunlarını önler ("Neden benim değişimim ortaya çıkmıyor?!"), ve değerli gigabyte serbest bırakır. Temiz bir çalışma alanı, temiz bir zihin, değil mi? ♂️ Koşmadsp(Benim Alias içindocker system prune -af) artık tatmin edici, neredeyse terapötik bir rutin.


Yani evet, bunlar artık sadece "hackler" değil. Onlar kökleştirilmiştir. Onlar kas hafızası. Alias düşünmeden parmaklarımdan uçuyor..dockerignoreoluşturduğum ilk dosyaların biriydi. Çok aşamalı yapılandırmalar potansiyel olarak canlı olan her şey için varsayılandır. Kompozisyonlar çevresel farklılıkları düzgün bir şekilde ele alır.


Docker, o acımasız yavrudan güçlü, akıllı bir asistan haline geldi. Şimdi benim yolumdan çıkıyor. Yapılar daha hızlı, dağıtımlar daha pürüzsüz, disk alanım daha mutlu ve dürüstçe,ben varımDaha mutlu çünkü daha az sürtünme var. Sadece Docker hakkında değil; bu küçük ayrıntıları nasıl yönetmek tüm geliştirme ve dağıtım iş akışımı yumuşatmıştır. kesinlikle hayatımın bir parçası haline geldi, ya da en azından dijital hayatım.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks