Ejecución de un comando en una instancia de contenedor de Azure en ejecución

Azure Container Instances permite ejecutar un comando en un contenedor en ejecución. Ejecutar un comando en un contenedor que ya inició resulta especialmente útil durante el desarrollo y la solución de problemas de las aplicaciones. El uso más común de esta característica es para iniciar un shell interactivo a fin de que pueda depurar problemas en un contenedor en ejecución.

Ejecución de un comando con la CLI de Azure

Ejecute un comando en un contenedor en ejecución con az container exec en la CLI de Azure:

az container exec --resource-group <group-name> --name <container-group-name> --exec-command "<command>"

Por ejemplo, para iniciar un shell de Bash en un contenedor de Nginx:

az container exec --resource-group myResourceGroup --name mynginx --exec-command "/bin/bash"

En la salida de ejemplo siguiente, el shell de Bash se inicia en un contenedor Linux en ejecución, lo que proporciona un terminal en el que se ejecuta 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.

En este ejemplo, el símbolo del sistema se inicia en un contenedor Nanoserver en ejecución:

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.

Grupos de varios contenedores

Si el grupo de contenedores tiene varios contenedores, como un contenedor de aplicación y un sidecar de registro, especifique el nombre del contenedor en el cual ejecutar el comando con --container-name.

Por ejemplo, en el grupo de contenedores mynginx hay dos contenedores, nginx-app y logger. Para iniciar un shell en el contenedor nginx-app:

az container exec --resource-group myResourceGroup --name mynginx --container-name nginx-app --exec-command "/bin/bash"

Restricciones

Azure Container Instances actualmente permite iniciar un solo proceso con az container exec y no es posible pasar argumentos de comando. Por ejemplo, no puede encadenar comandos como en sh -c "echo FOO && echo BAR" ni ejecutar echo FOO.

Pasos siguientes

Obtenga información sobre otras herramientas para la solución de problemas y otros problemas comunes de implementación en Solución de problemas de contenedor e implementación en Azure Container Instances.