Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Eftersom det går snabbt att distribuera containrar i Azure Container Instances är det en bra plattform för att köra engångsuppgifter som att skapa, testa och återge avbildningar i en containerinstans.
Med en konfigurerbar omstartsprincip kan du ange att dina containrar stoppas när deras processer har slutförts. Eftersom Azure fakturerar containerinstanser per sekund debiteras du bara för de beräkningsresurser som används när containern som kör aktiviteten körs.
Exemplen som presenteras i den här artikeln använder Azure CLI. Du måste ha Azure CLI version 2.0.21 eller senare installerat lokalt eller använda CLI i Azure Cloud Shell.
Policy för omstart av container
När du skapar en containergrupp i Azure Container Instances kan du ange någon av tre principinställningar för omstart.
| Omstartsprincip | Beskrivning |
|---|---|
Always |
Containrar i containergruppen startas alltid om. Den här principen är standardinställningen som tillämpas när ingen omstartsprincip anges när containern skapas. |
Never |
Containers i containergruppen startas aldrig om. Containers körs högst en gång. |
OnFailure |
Containrar i containergruppen startas bara om när processen som körs i containern inte slutförs utan fel (när den avslutas med en annan slutkod än noll). Containers körs minst en gång. |
Anmärkning
Om din containergrupp har konfigurerats med en IP-adress kan den IP-adressen ändras när containergruppen startas om.
Ange en omstartspolicy
Hur du anger en omstartsprincip beror på hur du skapar dina containerinstanser, till exempel med Azure CLI, Azure PowerShell-cmdletar eller i Azure Portal. I Azure CLI anger du parametern --restart-policy när du anropar az container create.
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mycontainerimage \
--restart-policy OnFailure
Exempel på körning till slutförande
För att se omstartsprincipen i praktiken, skapa en containerinstans från Microsoft aci-wordcount-avbildningen och ange OnFailure som omstartsprincip. Den här exempelcontainern kör ett Python-skript som som standard analyserar texten i Shakespeares Hamlet, skriver de 10 vanligaste orden till STDOUT och sedan avslutar.
Kör exempelcontainern med följande az container create-kommando :
az container create \
--resource-group myResourceGroup \
--name mycontainer \
--image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
--restart-policy OnFailure
Azure Container Instances startar containern och stoppar den när appen (eller skriptet i det här fallet) avslutas. När Azure Container Instances stoppar en container vars omstartsprincip är Never eller OnFailureanges containerns status till Avslutad. Du kan kontrollera statusen för en container med kommandot az container show :
az container show \
--resource-group myResourceGroup \
--name mycontainer \
--query containers[0].instanceView.currentState.state
Exempel på utdata:
"Terminated"
När exempelcontainerns status blir Avslutad kan du se utdata för uppgiften i containerloggarna. Kör kommandot az container logs för att visa utdata för skriptet:
az container logs --resource-group myResourceGroup --name mycontainer
Utdata:
[('the', 990),
('and', 702),
('of', 628),
('to', 610),
('I', 544),
('you', 495),
('a', 453),
('my', 441),
('in', 399),
('HAMLET', 386)]
Det här exemplet visar de utdata som skriptet skickade till STDOUT. Dina containerbaserade uppgifter kan dock i stället skriva utdata till beständig lagring för senare hämtning. Till exempel till en Azure-fildelning.
Nästa steg
Aktivitetsbaserade scenarier, till exempel batchbearbetning av en stor datamängd med flera containrar, kan dra nytta av anpassade miljövariabler eller kommandorader vid körning.
Mer information om hur du bevarar utdata från dina containrar som körs till slutförande finns i Montera en Azure-filresurs med Azure Container Instances.