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.