Uppdatera containers i Azure Container Instances

Under normal drift av dina containerinstanser kan det vara nödvändigt att uppdatera de containrar som körs i en containergrupp. Du kanske till exempel vill uppdatera en egenskap, till exempel en avbildningsversion, ett DNS-namn eller en miljövariabel, eller uppdatera en egenskap i en container vars program kraschade.

Uppdatera containrarna i en containergrupp som körs genom att distribuera om en befintlig grupp med minst en ändrad egenskap. När du uppdaterar en containergrupp startas alla containrar som körs i gruppen om på plats, vanligtvis på samma underliggande containervärd.

Kommentar

Det går inte att uppdatera avslutade eller borttagna containergrupper. När en containergrupp har avslutats (är i antingen tillståndet Lyckades eller Misslyckades) eller har tagits bort måste gruppen distribueras som ny. Se andra begränsningar.

Uppdatera en containergrupp

Så här uppdaterar du en befintlig containergrupp:

  • Utfärda kommandot create (eller använd Azure-portalen) och ange namnet på en befintlig grupp
  • Ändra eller lägg till minst en egenskap för gruppen som stöder uppdatering när du distribuerar om. Vissa egenskaper stöder inte uppdateringar.
  • Ange andra egenskaper med de värden som du angav tidigare. Om du inte anger något värde för en egenskap återställs värdet till standardvärdet.

Kommentar

Om du ställer in alla egenskaper på de värden som du tidigare angav och inte ändrar eller lägger till några, startas containern om som svar på kommandot create.

Dricks

En YAML-fil hjälper till att underhålla en containergrupps distributionskonfiguration och ger en startpunkt för att distribuera en uppdaterad grupp. Om du använde en annan metod för att skapa gruppen kan du exportera konfigurationen till YAML med hjälp av az container export.

Exempel

I följande Azure CLI-exempel uppdateras en containergrupp med en ny DNS-namnetikett. Eftersom egenskapen DNS-namnetikett för gruppen är en som kan uppdateras, distribueras containergruppen om och dess containrar startas om.

Inledande distribution med DNS-namnetiketten myapplication-staging:

# Create container group
az container create --resource-group myResourceGroup --name mycontainer \
    --image nginx:alpine --dns-name-label myapplication-staging

Uppdatera containergruppen med en ny DNS-namnetikett, ett nytt program och ange återstående egenskaper med de värden som användes tidigare:

# Update DNS name label (restarts container), leave other properties unchanged
az container create --resource-group myResourceGroup --name mycontainer \
    --image nginx:alpine --dns-name-label myapplication

Uppdatera fördelar

Den främsta fördelen med att uppdatera en befintlig containergrupp är snabbare distribution. När du distribuerar om en befintlig containergrupp hämtas dess containeravbildningslager från lager som cachelagras av den tidigare distributionen. I stället för att hämta alla avbildningslager från registret som det görs med nya distributioner hämtas endast ändrade lager (om några).

Program baserade på större containeravbildningar som Windows Server Core kan se betydande förbättringar i distributionshastigheten när du uppdaterar i stället för att ta bort och distribuera nya.

Begränsningar

  • Alla egenskaper för en containergrupp stöder inte uppdateringar. Om du vill ändra vissa egenskaper för en containergrupp måste du först ta bort gruppen och sedan distribuera om den. Se Egenskaper som kräver borttagning av containrar.
  • Alla containrar i en containergrupp startas om när du uppdaterar containergruppen. Du kan inte utföra en uppdatering eller omstart på plats av en specifik container i en grupp med flera containrar.
  • IP-adressen för en containergrupp behålls vanligtvis mellan uppdateringar, men är inte garanterad att förbli densamma. Så länge containergruppen distribueras till samma underliggande värd behåller containergruppen sin IP-adress. Även om det är ovanligt finns det vissa Azure-interna händelser som kan orsaka omdistribution till en annan värd. För att åtgärda det här problemet rekommenderar vi att du använder en DNS-namnetikett för dina containerinstanser.
  • Det går inte att uppdatera avslutade eller borttagna containergrupper. När en containergrupp har stoppats (är i tillståndet Avslutad ) eller tagits bort distribueras gruppen som ny.

Kommentar

Uppdateringskommandot kanske inte fungerar om Azure Container Group är kopplat till en Azure Storage-profil.

Egenskaper som kräver borttagning av containrar

Det går inte att uppdatera alla egenskaper för containergrupper. Om du till exempel vill ändra omstartsprincipen för en container måste du först ta bort containergruppen och sedan skapa den igen.

Ändringar av dessa egenskaper kräver borttagning av containergrupper före omdistribution:

  • OS-typ
  • PROCESSOR-, minnes- eller GPU-resurser
  • Omstartsprincip
  • Nätverksprofil
  • Availability zone

Viktigt!

Nätverksprofiler har dragits tillbaka från och med API-versionen 2021-07-01 . Om du använder den här eller en senare version ignorerar du alla steg och åtgärder som rör nätverksprofiler.

När du tar bort en containergrupp och återskapar den är den inte "omdistribuerad", utan ny. Alla avbildningslager hämtas från registret, inte från lager som cachelagrats av en tidigare distribution. IP-adressen för containern kan också ändras på grund av att den distribueras till en annan underliggande värd.

Nästa steg

I den här artikeln nämns containergrupper flera gånger. Varje container i Azure Container Instances distribueras i en containergrupp och containergrupper kan innehålla mer än en container. Följande artiklar innehåller mer information om containergrupper: