Ana içeriğe geç

Performans katmanı

Ağır dizinleri host dosya sisteminden çıkarıp Docker biriminde tutar. macOS ve Windows'ta Docker'ı yavaş hissettiren yer burasıdır.

Neden bir liste, tek bir anahtar değil

Kazanç hangi dizini taşıdığınıza bağlıdır. examples/perf_layer_bench.rs ile, bu sürümün derlendiği makinede ölçüldü — sizinki farklı çıkacaktır, ve Linux'ta geçilecek bir dosya sistemi sınırı zaten yok:

Taşınan Framework açılışı İstek yazmaları
Hiçbiri (bind mount) 1,47 s 1,14 s
vendor 0,39 s (3,8 kat) değişmedi
vendor + storage/framework 0,40 s 0,41 s (2,8 kat)

vendor açılışı hızlandırır, yazmalara hiç dokunmaz. Yazmaları hızlandıran storage/framework'tür. Karttaki her satır kendi sayısını bu yüzden taşıyor.

bootstrap/cache ve node_modules sunuluyor ama ölçülmedi; o yüzden satırları yukarıdaki sayılardan birini ödünç almak yerine bunu söylüyor.

Kontroller

Kontrol Ne yapar
Dizin anahtarı O dizini birime taşır ya da host'a geri alır.
Host'a aktar Birimdeki içeriğin bir anlık görüntüsünü host'a kopyalar.
Birimi sil Birimi ve içindekileri kaldırır.

Değişiklikler konteynere uygulanana kadar etkili olmaz; kart bunu söyler.

Bilinmesi gerekenler

  • Kendi kodunuz her zaman editörünüzün gördüğü yerde kalır. Yalnızca konteyner içindeki araçların yazdığı dizinler taşınır.
  • Taşınan bir dizini editörünüz artık göremez. İçine bakmanız gerekirse Host'a aktar ile anlık görüntü alın. O bir kopyadır; konteyner birime yazmayı sürdürür.
  • Projede henüz olmayan bir dizin de listelenebilir. Konteyner içindeki araçlar onu oluşturur.