翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Docker 診断
Docker には、コンテナやタスクに関する問題のトラブルシューティングに役立つ診断ツールがいくつか用意されています。使用できるすべての Docker コマンドラインユーティリティの詳細については、Docker ドキュメントの「Docker コマンドライン
Docker コンテナからレポートされる終了コードからも診断情報を得られます (例えば、終了コード 137 は、コンテナが SIGKILL
信号を受信したことを意味します)。詳細については、Docker ドキュメントの「終了ステータス
Docker コンテナのリスト化
コンテナインスタンスの docker ps コマンドを使用して、実行中のコンテナを一覧表示できます。次の例では、Amazon ECS コンテナエージェントのみが実行されています。詳細については、Docker ドキュメントの「docker ps
docker ps
出力:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cee0d6986de0 amazon/amazon-ecs-agent:latest "/agent" 22 hours ago Up 22 hours 127.0.0.1:51678->51678/tcp ecs-agent
docker ps -a コマンドを使用して、すべてのコンテナ (停止されたコンテナまたは強制終了されたコンテナも含む) を表示できます。この情報は、予期せず停止されたコンテナを一覧表示するために役立ちます。以下の例では、コンテナ f7f1f8a7a245
は 9 秒前に終了したため、-a
フラグのない docker ps 出力には表示されません。
docker ps -a
出力:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db4d48e411b1 amazon/ecs-emptyvolume-base:autogenerated "not-applicable" 19 seconds ago ecs-console-sample-app-static-6-internalecs-emptyvolume-source-c09288a6b0cba8a53700
f7f1f8a7a245 busybox:buildroot-2014.02 "\"sh -c '/bin/sh -c 22 hours ago Exited (137) 9 seconds ago ecs-console-sample-app-static-6-busybox-ce83ce978a87a890ab01
189a8ff4b5f0 httpd:2 "httpd-foreground" 22 hours ago Exited (137) 40 seconds ago ecs-console-sample-app-static-6-simple-app-86caf9bcabe3e9c61600
0c7dca9321e3 amazon/ecs-emptyvolume-base:autogenerated "not-applicable" 22 hours ago ecs-console-sample-app-static-6-internalecs-emptyvolume-source-90fefaa68498a8a80700
cee0d6986de0 amazon/amazon-ecs-agent:latest "/agent" 22 hours ago Up 22 hours 127.0.0.1:51678->51678/tcp ecs-agent
Docker ログを表示する
docker logs コマンドを使用して、コンテナの STDOUT
および STDERR
ストリームを表示できます。この例では、ログは dc7240fe892a
コンテナのものが表示され、見やすくするために head コマンドによりパイプされています。詳細については、Docker ドキュメントの「Docker ログ
注記
デフォルトの json
ログドライバーを使用している場合、Docker ログはコンテナインスタンスのみで利用できます。awslogs
ログドライバーを使用するようにタスクを設定している場合、コンテナログは CloudWatch Logs で使用できます。詳細については、「awslogs ログドライバーを使用する」を参照してください。
docker logs
dc7240fe892a
| head
出力:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.11. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.11. Set the 'ServerName' directive globally to suppress this message
[Thu Apr 23 19:48:36.956682 2015] [mpm_event:notice] [pid 1:tid 140327115417472] AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
[Thu Apr 23 19:48:36.956827 2015] [core:notice] [pid 1:tid 140327115417472] AH00094: Command line: 'httpd -D FOREGROUND'
10.0.1.86 - - [23/Apr/2015:19:48:59 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:48:59 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:49:28 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:49:29 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:49:50 +0000] "-" 408 -
10.0.0.154 - - [23/Apr/2015:19:49:50 +0000] "-" 408 -
10.0.1.86 - - [23/Apr/2015:19:49:58 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:49:59 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:50:28 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:50:29 +0000] "GET / HTTP/1.1" 200 348
time="2015-04-23T20:11:20Z" level="fatal" msg="write /dev/stdout: broken pipe"
Docker コンテナを検査する
コンテナの Docker ID がある場合は、docker inspect コマンドを使用してコンテナを検査できます。コンテナを検査すると、コンテナが起動された環境の最も詳細なビューを得られます。詳細については、Docker ドキュメントの「Docker の検査
docker inspect
dc7240fe892a
出力:
[{
"AppArmorProfile": "",
"Args": [],
"Config": {
"AttachStderr": false,
"AttachStdin": false,
"AttachStdout": false,
"Cmd": [
"httpd-foreground"
],
"CpuShares": 10,
"Cpuset": "",
"Domainname": "",
"Entrypoint": null,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache2/bin",
"HTTPD_PREFIX=/usr/local/apache2",
"HTTPD_VERSION=2.4.12",
"HTTPD_BZ2_URL=https://www.apache.org/dist/httpd/httpd-2.4.12.tar.bz2"
],
"ExposedPorts": {
"80/tcp": {}
},
"Hostname": "dc7240fe892a",
...