Sari la conținut

inginerie

Memorarea în cache a stratului Docker nu este ceea ce crezi că este

Majoritatea setărilor de cache CI Docker petrec mai mult timp transferând memoria cache decât salvează utilizând-o.

{autor} · {rol} · {data} · {minute} {minuteLabel}

Sfatul standard este să exportați stratul cache cu cache-to și să îl importați cu cache-from. Funcționează. Pentru imaginile mari este, de asemenea, frecvent o pierdere netă, iar datele de sincronizare fac acest lucru evident odată ce priviți.

Transferul este problema

Fiecare lucrare exportă memoria cache la sfârșit și o importă la început. Pentru un cache layer de mai mulți gigaocteți, acel drum dus-întors poate depăși timpul de construire pe care trebuia să îl economisească. Pasul de construire devine mai rapid, iar munca devine mai lent.

Soluția este să nu-l mai mișcați

O instanță BuildKit persistentă păstrează memoria cache pe propriul disc, acolo unde BuildKit o dorește deja. Jobul tău se atașează, construiește, se detașează. Nu există pas de export pentru că nu există nimic de exportat.

Următorul tău build poate fi de două ori mai rapid, la jumătate de preț

Începe gratuit. Plecarea înseamnă aceeași linie, iar acel diff îl publicăm și noi.