Konfiguration der ausführlichen Ausgabe vom Docker-Daemon in Amazon ECS - Amazon Elastic Container Service

Konfiguration der ausführlichen Ausgabe vom Docker-Daemon in Amazon ECS

Wenn Sie Probleme mit Docker-Containern oder -Images haben, können Sie den Debug-Modus für Ihren Docker-Daemon aktivieren. Die Verwendung von Debugging bietet eine ausführlichere Ausgabe vom Daemon. Sie können damit Fehlermeldungen abrufen, die von Container-Registrys wie Amazon ECR gesendet werden.

Wichtig

Dieses Verfahren wurde für das Amazon-ECS-optimierte Amazon Linux AMI geschrieben. Informationen zu anderen Betriebssystemen finden Sie unter Debugging aktivieren und Docker mit systemd steuern und konfigurieren in der Docker-Dokumentation.

So aktivieren Sie den Debug-Modus des Docker-Daemon im Amazon-ECS-optimierten Amazon-Linux-AMI
  1. Stellen Sie eine Verbindung mit Ihrer Container-Instance her.

  2. Öffnen Sie die Datei mit den Docker-Optionen in einem Text-Editor, wie z. B. vi. Für das Amazon-ECS-optimierte Amazon Linux AMI befindet sich die Datei mit den Docker-Optionen unter /etc/sysconfig/docker.

  3. Suchen Sie nach der Anweisung für die Docker-Optionen und fügen Sie die Option -D in Anführungszeichen zur Zeichenfolge hinzu.

    Anmerkung

    Wenn die Anweisung für die Docker-Optionen mit einem # beginnt, entfernen Sie dieses Zeichen, um die Auskommentierung der Anweisung aufzuheben und die Optionen zu aktivieren.

    Für das Amazon-ECS-optimierte Amazon Linux AMI wird die Anweisung für die Docker-Optionen OPTIONS genannt. Zum Beispiel:

    # Additional startup options for the Docker daemon, for example: # OPTIONS="--ip-forward=true --iptables=true" # By default we limit the number of open files per container OPTIONS="-D --default-ulimit nofile=1024:4096"
  4. Speichern Sie die Datei und beenden Sie den Text-Editor.

  5. Starten Sie den Docker-Daemon erneut.

    sudo service docker restart

    Die Ausgabe sieht wie folgt aus:

    Stopping docker: [ OK ] Starting docker: . [ OK ]
  6. Starten Sie den Amazon-ECS-Agenten neu.

    sudo service ecs restart

Ihre Docker-Protokolle sollten jetzt mehr Informationen enthalten.

time="2015-12-30T21:48:21.907640838Z" level=debug msg="Unexpected response from server: \"{\\\"errors\\\":[{\\\"code\\\":\\\"DENIED\\\",\\\"message\\\":\\\"User: arn:aws:sts::1111:assumed-role/ecrReadOnly/i-abcdefg is not authorized to perform: ecr:InitiateLayerUpload on resource: arn:aws:ecr:us-east-1:1111:repository/nginx_test\\\"}]}\\n\" http.Header{\"Connection\":[]string{\"keep-alive\"}, \"Content-Type\":[]string{\"application/json; charset=utf-8\"}, \"Date\":[]string{\"Wed, 30 Dec 2015 21:48:21 GMT\"}, \"Docker-Distribution-Api-Version\":[]string{\"registry/2.0\"}, \"Content-Length\":[]string{\"235\"}}"