Partage via


Exécuter une commande dans une instance de conteneur Azure en cours d’exécution

Azure Container Instances prend en charge l’exécution d’une commande dans un conteneur en cours d’exécution. L’exécution d’une commande dans un conteneur démarré est particulièrement utile pendant le développement d’applications et la résolution de problèmes. L’utilisation la plus courante de cette fonctionnalité consiste à lancer un shell interactif afin de déboguer des problèmes dans un conteneur en cours d’exécution.

Exécuter une commande avec Azure CLI

Exécutez une commande dans un conteneur en cours d’exécution avec az container exec dans Azure CLI :

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

Par exemple, pour lancer un shell Bash dans un conteneur Nginx :

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

Dans l’exemple suivant, l’interpréteur de commandes Bash est lancé dans un conteneur Linux en cours d’exécution, fournissant un terminal dans lequel ls est exécuté :

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.

Dans cet exemple, l’invite de commandes est lancée dans un conteneur Nanoserver en cours d’exécution :

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.

Groupes de plusieurs conteneurs

Si votre groupe de conteneurs contient plusieurs conteneurs, comme un conteneur d’applications et une journalisation annexe, spécifiez le nom du conteneur dans lequel exécuter la commande avec --container-name.

Par exemple, le groupe de conteneurs mynginx contient deux conteneurs, nginx-app et logger. Pour lancer un shell sur le conteneur nginx-app :

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

Restrictions

Azure Container Instances prend actuellement en charge le lancement d’un processus unique avec az container exec, et vous ne pouvez pas passer des arguments de commande. Par exemple, vous ne pouvez pas chaîner des commandes comme dans sh -c "echo FOO && echo BAR", ni exécuter echo FOO.

Étapes suivantes

En savoir plus sur les autres outils de résolution des problèmes et les problèmes de déploiement courants dans Résolution des problèmes liés à un conteneur et au déploiement dans les Azure Container Instances.