Execute a command in a running Azure container instance

Azure Container Instances supports executing a command in a running container. Running a command in a started container is especially helpful during application development and troubleshooting. The most common use of this feature is to launch an interactive shell so that you can debug issues in a running container.

Run a command with Azure CLI

Execute a command in a running container with az container exec in the Azure CLI:

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

For example, to launch a Bash shell in an Nginx container:

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

In the following example output, the Bash shell is launched in a running Linux container, providing a terminal in which ls is executed:

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 this example, Command Prompt is launched in a running Nanoserver container:

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.

Multi-container groups

If your container group has multiple containers, such as an application container and a logging sidecar, specify the name of the container in which to run the command with --container-name.

For example, in the container group mynginx are two containers, nginx-app and logger. To launch a shell on the nginx-app container:

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

Restrictions

Azure Container Instances currently supports launching a single process with az container exec, and you can't pass command arguments. For example, you can't chain commands like in sh -c "echo FOO && echo BAR", or execute echo FOO.

Next steps

Learn about other troubleshooting tools and common deployment issues in Troubleshoot container and deployment issues in Azure Container Instances.