

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Docker-Diagnose in Amazon ECS
<a name="docker-diags"></a>

Docker bietet mehrere Diagnosetools, die bei der Behebung von Problemen mit Ihren Containern und Aufgaben helfen. Weitere Informationen über alle verfügbaren Docker-Befehlszeilen-Tools finden Sie in der [Docker-CLI-Referenz](https://docs.docker.com/reference/cli/docker/) in der Docker-Dokumentation. Sie können auf die Docker-Befehlszeilen-Tools zugreifen, indem Sie mithilfe von SSH eine Verbindung zu einer Container-Instance herstellen.

Die Exitcodes, die Docker-Container berichten, können auch Diagnoseinformationen enthalten (zum Beispiel bedeutet Exitcode 137, dass der Container ein Signal `SIGKILL` empfangen hat). Weitere Informationen finden Sie unter [Exit Status](https://docs.docker.com/reference/cli/docker/container/run/#exit-status) in der Docker-Dokumentation.

## Docker-Container in Amazon ECS auflisten
<a name="docker-ps"></a>

Sie können mithilfe des Befehls **docker ps** auf Ihrer Container-Instance die Container auflisten, die gerade ausgeführt werden. Im folgenden Beispiel wird nur der Amazon-ECS-Container-Agent ausgeführt. Weitere Informationen finden Sie unter [docker ps](https://docs.docker.com/reference/cli/docker/#ps) in der Docker-Dokumentation.

```
docker ps
```

Ausgabe:

```
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
```

Sie können mithilfe des Befehls **docker ps -a** alle Container anzeigen (auch gestoppte oder abgebrochene Container). Dies ist hilfreich, um Container aufzulisten, die unerwartet gestoppt wurden. Im folgenden Beispiel wurde der Container `f7f1f8a7a245` vor 9 Sekunden beendet, daher wird er in einer **docker ps**-Ausgabe ohne das Flag `-a` nicht aufgeführt.

```
docker ps -a
```

Ausgabe:

```
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-Protokolle in Amazon ECS anzeigen
<a name="docker-logs"></a>

Sie können die Streams `STDOUT` und `STDERR` für einen Container mithilfe des Befehls **docker logs** anzeigen. In diesem Beispiel werden die Protokolle für den *dc7240fe892a* Container angezeigt und der Kürze halber über den **head** Befehl weitergeleitet. Weitere Informationen finden Sie unter [docker logs](https://docs.docker.com/reference/cli/docker/#logs) in der Docker-Dokumentation.

**Anmerkung**  
Docker-Protokolle stehen nur in der Container-Instance zur Verfügung, wenn Sie den Standardtreiber für `json`-Protokolle verwenden. Wenn Sie Ihre Aufgaben für die Verwendung des `awslogs` Protokolltreibers konfiguriert haben, sind Ihre Container-Protokolle unter Logs verfügbar. CloudWatch Weitere Informationen finden Sie unter [Amazon ECS-Protokolle senden an CloudWatch](using_awslogs.md).

```
docker logs dc7240fe892a | head
```

Ausgabe:

```
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-Container in Amazon ECS untersuchen
<a name="docker-inspect"></a>

Wenn Sie die Docker-ID eines Containers haben, können Sie ihn mithilfe des Befehls **docker inspect** untersuchen. Die Untersuchung von Containern bietet die detaillierteste Ansicht der Umgebung, in der der Container gestartet wurde. Weitere Informationen finden Sie unter [docker inspect](https://docs.docker.com/reference/cli/docker/#inspect) in der Docker-Dokumentation.

```
docker inspect dc7240fe892a
```

Ausgabe:

```
[{
    "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",
...
```