Executar um comando em uma Instância de Contêiner do Azure
As Instâncias de Contêiner do Azure oferecem suporte à execução de um comando em um contêiner em execução. A execução de um comando em um contêiner iniciado é especialmente útil durante o desenvolvimento de aplicativo e solução de problemas. O uso mais comum desse recurso é iniciar um shell interativo para que você possa depurar problemas em um contêiner em execução.
Executar um comando em um contêiner em execução com az container exec na CLI do Azure:
az container exec --resource-group <group-name> --name <container-group-name> --exec-command "<command>"
Por exemplo, para iniciar um shell Bash em um contêiner de Nginx:
az container exec --resource-group myResourceGroup --name mynginx --exec-command "/bin/bash"
No exemplo de saída a seguir, o shell Bash é iniciado em um contêiner do Linux em execução, fornecendo um terminal no qual ls
é executado:
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.
Neste exemplo, o Prompt de Comando é iniciado em um contêiner de Nanoserver em execução:
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.
Se seu grupo de contêineres tem vários contêineres, como um contêiner de aplicativo e um sidecar de registro em log, especifique o nome do contêiner no qual deverá ser executado o comando com --container-name
.
Por exemplo, no grupo de contêiner mynginx há dois contêineres, nginx-app e logger. Para iniciar um shell no contêiner nginx aplicativo:
az container exec --resource-group myResourceGroup --name mynginx --container-name nginx-app --exec-command "/bin/bash"
Instâncias de Contêiner do Azure atualmente oferecem suporte à inicialização de um único processo com az container exec e você não pode passar argumentos de comando. Por exemplo, não é possível encadear comandos, como em sh -c "echo FOO && echo BAR"
, ou executar echo FOO
.
Saiba mais sobre outras ferramentas de solução de problemas e problemas comuns de implantação em Solucionar problemas de contêiner e implantação em Instâncias de Contêiner do Azure.