実行中の Azure Container Instances でコマンドを実行するExecute a command in a running Azure container instance

Azure Container Instances は、実行中のコンテナーでのコマンドの実行をサポートします。Azure Container Instances supports executing a command in a running container. 既に開始されているコンテナー内でのコマンドの実行は、アプリケーションの開発とトラブルシューティング時に特に役立ちます。Running a command in a container you've already started 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.

Azure CLI でコマンドを実行するRun a command with Azure CLI

Azure CLIaz container exec を使用して、実行中のコンテナーでコマンドを実行します。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>"

たとえば、Nginx コンテナーで Bash シェルを起動するには、次のように入力します。For example, to launch a Bash shell in an Nginx container:

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

次の出力例では、実行中の Linux コンテナーで Bash シェルが起動され、ls が実行されるターミナルが用意されます。In the example output below, the Bash shell is launched in a running Linux container, providing a terminal in which ls is executed:

$ az container exec --resource-group myResourceGroup --name mynginx --exec-command "/bin/bash"
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 コンテナーでコマンド プロンプトが起動します。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

コンテナー グループに複数のコンテナー (アプリケーション コンテナーやログ記録サイドカーなど) が含まれている場合は、--container-name を使用して、コマンドを実行するコンテナーの名前を指定します。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.

たとえば、コンテナー グループ mynginx に、nginx-applogger という 2 つのコンテナーがあるとします。For example, in the container group mynginx are two containers, nginx-app and logger. nginx-app コンテナーでシェルを起動するには、次のように入力します。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 は、現時点では az container exec による単一のプロセスの起動をサポートしています。コマンドの引数を渡すことはできません。Azure Container Instances currently supports launching a single process with az container exec, and you cannot pass command arguments. たとえば、sh -c "echo FOO && echo BAR" のようなコマンドのチェーンや、echo FOO の実行は行えません。For example, you cannot chain commands like in sh -c "echo FOO && echo BAR", or execute echo FOO.

次の手順Next steps

Azure Container Instances でのコンテナーとデプロイに関する問題のトラブルシューティングに関する記事で、他のトラブルシューティング ツールとデプロイの一般的な問題を確認します。Learn about other troubleshooting tools and common deployment issues in Troubleshoot container and deployment issues in Azure Container Instances.