Docker Görüntüleri Windows / MVC Core Üzerinde Yavaş Oluşturuluyor


9

Docker kapsayıcılarında birden fazla proje ile bir MVC Core 2.2 var. Çalıştırdığımda, görüntüleri oluşturmak ve kapları ateşlemek yaklaşık 4 dakika sürer. Kullanıyorum docker-compose.

Bu küçük bir gelişme ve iyi bir bilgisayar var göz önüne alındığında, bu yavaş görünüyor. Kaynakların kullanılmadığı anlaşılıyor, çünkü görüntü oluşturma sırasında işlemci% 8'in altında, ram değişmiyor, disk neredeyse% 0'da. GPU% 0. Microsoft görüntüsü indirilirken birkaç saniye internette artış olduğunu görebiliyorum, ama hepsi bu. Docker'a aşağıdaki kaynakları verdim:

Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)

Bu donanım kaynaklarının yapıları daha hızlı hale getirmek için nasıl kullanılabileceği hakkında bir fikriniz var mı?


Windows veya Linux Core Base-Images kullandınız mı?
Thomas Brüggemann

Windows 10 makinesinde Linux tabanlı görüntüler kullanıyorum
mgPePe

1
Bu nedenle Linux kapsayıcıları Windows 10 altında yerel olarak çalışmaz, Windows için Docker bunun için özel bir VM oluşturur, belki de bu gecikmeye neden olabilir. Deneysel bir özellik var ama bu hala geliştiriliyor bkz. Github.com/moby/moby/issues/33850
Thomas Brüggemann

Yanıtlar:


2

Windows 10'da Docker ile ilgili genel bir sorun gibi görünüyor çünkü web üzerinde bu konu hakkında konuşan birkaç konu buldum ve genellikle Docker'a atanan donanım kaynağı ile ilgili görünmüyor.

Bu yüzden Windows 10 sanal örneğimde bazı denemeler yaptım ve örnek bir docker-compose kullanarak bazı Linux tabanlı kapları çalıştıran benzer bir davranış fark ettim.

Burada, araştırmalarım sırasında bulduğum, testlerim sırasında işlemleri gerçekten hızlandıran adımlar rapor ediyorum:

  1. Aşağıdakilere geliştirme (örn. Git repos) ve docker resim dizinleri ekleyin:

  2. Aşağıdaki komutu uygulayarak dns'i yıkayın:

    ipconfig /flushdns
    
  3. DNS'yi örneğin Google bir (8.8.8.8 - 8.8.4.4) veya Bulut Ücreti bir (1.1.1.1 - 1.0.0.1) olarak değiştirmeye çalışın (Burada, zaten Google DNS'e sahip olduğum için, DNS yavaşlar ve işlemler biraz yavaşlar)

  4. Başka bir antivirüs yüklüyse istisna ekleyin (ayrıca burada bunun yardımcı olup olmadığını görmek için devre dışı bırakmayı deneyin)

  5. Tüm IPV6 desteğini ve NetBIOS'u tüm ağ arabirimlerinden kaldır

NOT: Birisi Docker'ı kaldırmanız ve bunları uyguladıktan sonra yüklemenizi önerir, ancak yeni bir Windows 10 kurulumundan başladığım için test etmedim.

Umarım bunlar çevrenizde de yardımcı olabilir!

Bulduğum En İyi Referanslar:


1

derleme dizininde çok fazla dosya olup olmadığını kontrol edin, eğer dcoker tüm dosyaları daemon'a göndermelidir.

kullanarak istenmeyen dosyaları yok sayabilirsiniz .dockerignore

Docker CLI, içeriği docker arka plan programına göndermeden önce, içeriğin kök dizininde .dockerignore adlı bir dosya arar. Bu dosya varsa, CLI, içindeki kalıplarla eşleşen dosyaları ve dizinleri hariç tutmak için içeriği değiştirir. Bu, arka plana gereksiz yere büyük veya hassas dosyalar ve dizinler göndermekten ve bunları ADD veya COPY kullanarak görüntülere eklemekten kaçınmaya yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.