Köra ett kommando i en Azure-containerinstans som körs
Azure Container Instances har stöd för att köra kommandon i aktiva containers. Under apputveckling och felsökning är det särskilt användbart att kunna köra kommandon i containers som redan har startats. Den här funktionen används oftast till att starta ett interaktivt gränssnitt så att du kan felsöka problem i en container som körs.
Köra ett kommando med Azure CLI
Kör ett kommando i en container som körs med az container exec i Azure CLI:
az container exec --resource-group <group-name> --name <container-group-name> --exec-command "<command>"
Om du till exempel vill starta ett Bash-gränssnitt i en Nginx-container:
az container exec --resource-group myResourceGroup --name mynginx --exec-command "/bin/bash"
I exempelutdata nedan startas Bash-gränssnittet i en Linux-container som körs och tillhandahåller en terminal där ls
körs:
root@caas-83e6c883014b427f9b277a2bba3b7b5f-708716530-2qv47:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
root@caas-83e6c883014b427f9b277a2bba3b7b5f-708716530-2qv47:/# exit
exit
Bye.
I det här exemplet startas kommandotolken i en Nanoserver-container som körs:
az container exec --resource-group myResourceGroup --name myiis --exec-command "cmd.exe"
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\>dir
Volume in drive C has no label.
Volume Serial Number is 76E0-C852
Directory of C:\
03/23/2018 09:13 PM <DIR> inetpub
11/20/2016 11:32 AM 1,894 License.txt
03/23/2018 09:13 PM <DIR> Program Files
07/16/2016 12:09 PM <DIR> Program Files (x86)
03/13/2018 08:50 PM 171,616 ServiceMonitor.exe
03/23/2018 09:13 PM <DIR> Users
03/23/2018 09:12 PM <DIR> var
03/23/2018 09:22 PM <DIR> Windows
2 File(s) 173,510 bytes
6 Dir(s) 21,171,609,600 bytes free
C:\>exit
Bye.
Grupper med flera container
Om din containergrupp har flera containrar, till exempel en programcontainer och en sidovagn för loggning, anger du namnet på containern där kommandot ska köras med --container-name
.
I containergruppen mynginx finns till exempel två containrar, nginx-app och logger. Så här startar du ett gränssnitt i containern nginx-app :
az container exec --resource-group myResourceGroup --name mynginx --container-name nginx-app --exec-command "/bin/bash"
Begränsningar
Azure Container Instances stöder för närvarande att starta en enda process med az container exec, och du kan inte skicka kommandoargument. Du kan till exempel inte länka kommandon som i sh -c "echo FOO && echo BAR"
, eller köra echo FOO
.
Nästa steg
Läs mer om andra felsökningsverktyg och vanliga distributionsproblem i Felsöka container- och distributionsproblem i Azure Container Instances.