Выполнение команды в экземпляре контейнера 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".