Configuración de la salida detallada desde el daemon de Docker en Amazon ECS - Amazon Elastic Container Service

Configuración de la salida detallada desde el daemon de Docker en Amazon ECS

Si tiene problemas con los contenedores o imágenes de Docker, puede activar el modo de depuración en su daemon de Docker. El uso de la depuración proporciona una salida más detallada del daemon. Puede utilizarla para recuperar los mensajes de error que se envían desde los registros de contenedores, como Amazon ECR.

importante

Este procedimiento está escrito para la AMI de Amazon Linux optimizada para Amazon ECS. Para los demás sistemas operativos, consulte Enable debugging y Control and configure Docker with systemd en la documentación de Docker.

Para usar el modo de depuración del daemon de Docker en la AMI de Amazon Linux optimizada para Amazon ECS
  1. Conéctese a la instancia de contenedor.

  2. Abra el archivo de opciones de Docker con un editor de texto, como vi. Para la AMI de Amazon Linux optimizada para Amazon ECS, el archivo de opciones de Docker se encuentra en /etc/sysconfig/docker.

  3. Busque la declaración de opciones de Docker y añada la opción -D a la cadena, dentro de las comillas.

    nota

    Si la declaración de opciones de Docker comienza por #, elimine ese carácter para quitar el comentario de la declaración y habilitar las opciones.

    Para la AMI de Amazon Linux optimizada para Amazon ECS, la declaración de opciones de Docker se llama OPTIONS. Por ejemplo:

    # 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. Guarde el archivo y salga del editor de texto.

  5. Reinicie el daemon de Docker.

    sudo service docker restart

    La salida es la siguiente:

    Stopping docker: [ OK ] Starting docker: . [ OK ]
  6. Reinicie el agente de Amazon ECS.

    sudo service ecs restart

Sus registros de Docker ahora deberían mostrar una salida más detallada.

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\"}}"