Поделиться через


Выполнение команды в экземпляре контейнера Azure

Служба "Экземпляры контейнеров Azure" поддерживает выполнение команды в запущенном контейнере. Выполнение команды в запущенном контейнере особенно полезно во время разработки приложений и устранения неполадок. Чаще всего эту функцию используют для запуска интерактивной оболочки, чтобы устранять проблемы в запущенном контейнере.

Выполнение команды с помощью Azure CLI

Чтобы выполнить команду в запущенном контейнере, введите az container exec в Azure CLI:

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

Например, для запуска оболочки Bash в контейнер Nginx:

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

В следующем примере выходных данных оболочка Bash запускается в работающем контейнере Linux, предоставляя терминал, в котором 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.

В этом примере интерфейс командной строки запущен в запущенном контейнере Nanoserver:

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.

Многоконтейнерные группы

Если ваша группа контейнеров содержит несколько контейнеров, например контейнер приложения и расширение ведения журнала, укажите имя контейнера, в котором должна выполняться команда, с помощью --container-name.

Например, в группе контейнеров mynginx два контейнера: nginx-app и logger. Чтобы запустить оболочку в контейнере nginx-app:

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

Ограничения

Экземпляры контейнеров Azure в настоящее время поддерживает запуск одного процесса с az container exec, и вы не можете передать аргументы команд. Например, вы не можете выполнять такие команды, как в sh -c "echo FOO && echo BAR", или выполнить echo FOO.

Следующие шаги

Дополнительные сведения о других средствах устранения неполадок и часто встречающихся проблемах развертывания см. в статье Устранение неполадок развертывания с помощью службы "Экземпляры контейнеров Azure".