Hoppa till innehållet
Stackship-dokumentation English

ContainerregisterAnvändareMaskinöversatt

Containerregister

Plattformens eget containerregister — vad det lagrar, vem som når det, hur länge avbildningar sparas och hur det skiljer sig från ett privat register som du ansluter.

Plattformen har ett eget containerregister. När den bygger en app, en funktion eller en statisk webbapp lagrar den den färdiga avbildningen där, och klustret hämtar avbildningen därifrån för att köra arbetslasten. Normalt har du aldrig direkt kontakt med det: byggen pushar till det och arbetslaster hämtar från det av sig själva.

Vad det lagrar

Varje avbildning ligger i ett förråd som är namngivet efter sin boundary, sin resursgrupps namnrymd och resursen:

Byggd från Förråd Tagg
En app apps/<boundary id>/<namespace>/<app name> Tidpunkten då bygget startade, i Unix-sekunder; <slot>-<time> för en slot
En statisk webbapp apps/<boundary id>/<namespace>/swa-<site name> Tidpunkten då bygget startade, i Unix-sekunder
En funktion fn/<boundary id>/<namespace>/<function name> Byggnumret

Byggen håller också en lagercache bredvid, under cache/<boundary id>/<namespace>/…, som gör nästa bygge av samma resurs snabbare.

Vem som når det

  • Varje bygge får en autentiseringsuppgift, giltig i en timme, som det använder för att pusha till sitt förråd och sin cache.
  • Varje namnrymd i en boundary har en uppgift i Secret stackship-registry-pull, kopplad till namnrymdens tjänstekonto default, som klustret använder för att hämta boundaryns avbildningar. Uppgiften gäller i 24 timmar, och plattformen ersätter den när färre än sex timmar återstår.
  • En uppgift hör till en boundary, och registret nekar den åtkomst till en annan boundarys förråd.

Se upp

Inom sin egen boundary är en uppgift inte begränsad till det den utfärdades för. Registret beviljar den åtkomst som en uppgift begär — även push och borttagning — på varje förråd och byggcache i uppgiftens boundary, över alla dess resursgrupper. Uppgiften i stackship-registry-pull är alltså inte begränsad till hämtning, och ett bygges uppgift är inte begränsad till dess eget förråd: den eller det som kan läsa någon av dessa uppgifter kan ersätta eller ta bort varje avbildning i boundaryn.

Du kan inte logga in i registret med ditt plattformskonto, och det delar inte ut några autentiseringsuppgifter till personer. För att köra en egen avbildning, pusha den till ett register som du styr över och anslut det registret till boundaryn som en distributionskälla — se Privat register. Det är något annat än det här registret: plattformen hämtar bara från det, med den uppgift du ger den.

Hur länge avbildningar sparas

En rensning körs varje natt. Om inte din plattform är konfigurerad på annat sätt behåller den dessa avbildningar i en apps eller funktions förråd och kan ta bort resten:

  • avbildningarna som appens eller funktionens körande poddar använder;
  • de två senast pushade avbildningarna;
  • varje avbildning som pushats de senaste 90 dagarna.

En app kan sätta egna värden via API:t, med retention.keepLast och retention.keepForDays, bara i anropet som skapar den; att ändra dem på en befintlig app har ingen effekt — se Kvarhållning av avbilder. I den här versionen tar rensningen inte bort några avbildningar alls, så i praktiken behålls varje avbildning; se Lagringstid. Avbildningar för statiska webbappar ingår inte i rensningen. Poster i byggcachen som inte byggts om på 14 dagar tas bort en gång i veckan.

När en äldre version behövs igen:

  • Distribuera om den här versionen på en app bygger om den versionen från dess commit när avbildningen inte längre finns i registret.
  • Servera den här driftsättningen på en statisk webbapp behöver avbildningen; se Servera en tidigare driftsättning.

Hur plattformsadministratörer kör och kontrollerar rensningen beskrivs i Lagringstid.