Uppdatera containrar 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 containrar i en containergrupp som körs genom att omdistribuera 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.

Anmärkning

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

Uppdatera containergruppen

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 återgår det till standardvärdet.

Anmärkning

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.

Tips/Råd

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

Följande Azure CLI exempel uppdaterar 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 omdistribuerar en befintlig containergrupp hämtas lagren i containeravbildningen från lager som har cachelagrats från den föregående distributionen. I stället för att hämta alla bildlager på nytt från registret, vilket görs vid nya distributioner, hämtas endast de lager som har ändrats (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.

Anmärkning

Uppdateringskommandot kanske inte fungerar om Azure containergrupp är kopplad 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
  • Tillgänglighetszon

Viktigt!

Nätverksprofiler dras tillbaka från och med API-versionen 2021-07-01 . Om du använder den här versionen 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 bildlager hämtas på nytt från registret, inte från lager som har cachelagrats av en tidigare driftsättning. 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: