Eseguire un comando in un'istanza di contenitore di Azure in esecuzione
Istanze di Azure Container supporta l'esecuzione di un comando in un contenitore in esecuzione. Eseguire un comando in un contenitore già avviato è particolarmente utile durante lo sviluppo e la risoluzione dei problemi di un'applicazione. L'uso più comune di questa funzionalità consiste nell'avviare una shell interattiva in modo che sia possibile eseguire il debug di problemi in un contenitore in esecuzione.
Eseguire un comando con l'interfaccia della riga di comando di Azure
Eseguire un comando in un contenitore in esecuzione con az container exec nell'interfaccia della riga di comando di Azure:
az container exec --resource-group <group-name> --name <container-group-name> --exec-command "<command>"
Ad esempio, per avviare una shell Bash in un contenitore Nginx:
az container exec --resource-group myResourceGroup --name mynginx --exec-command "/bin/bash"
Nell'output di esempio seguente, la shell Bash viene avviata in un contenitore Linux in esecuzione, fornendo un terminale in cui viene eseguito ls
:
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.
In questo esempio, il prompt dei comandi viene avviato in un contenitore Nanoserver in esecuzione:
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.
Gruppi di più contenitori
Se il gruppo di contenitori dispone di più contenitori, ad esempio un contenitore di applicazione e un sidecar di registrazione, specificare il nome del contenitore in cui eseguire il comando con --container-name
.
Ad esempio, nel gruppo di contenitori mynginx sono presenti due contenitori nginx-app e logger. Per avviare una shell nel contenitore nginx-app:
az container exec --resource-group myResourceGroup --name mynginx --container-name nginx-app --exec-command "/bin/bash"
Restrizioni
Istanze di Azure Container attualmente supporta l'avvio di un singolo processo con az container exec e non è possibile passare gli argomenti del comando. Ad esempio, non è possibile concatenare i comandi, come in sh -c "echo FOO && echo BAR"
, o eseguire echo FOO
.
Passaggi successivi
Informazioni su altri strumenti di risoluzione dei problemi e problemi di distribuzione comuni in Risolvere i problemi di distribuzione in Istanze di Azure Container.