Configurazione dell'output dettagliato dal daemon Docker in Amazon ECS - Amazon Elastic Container Service

Configurazione dell'output dettagliato dal daemon Docker in Amazon ECS

In caso di problemi con i container o le immagini Docker, puoi abilitare la modalità di debug sul tuo daemon Docker. L'utilizzo del debug fornisce un output più dettagliato dal daemon. È possibile usarlo per recuperare i messaggi di errore inviati dai registri dei container, come Amazon ECR.

Importante

Questa procedura è scritta per l'AMI Amazon Linux ottimizzata per Amazon ECS. Per altri sistemi operativi, consulta le sezioni Abilitazione del debug e Controllo e configurazione di Docker tramite systemd nella documentazione Docker.

Come usare la modalità di debug del daemon Docker nell'AMI Amazon Linux ottimizzata per Amazon ECS
  1. Connettiti alla tua istanza di container.

  2. Aprire il file delle opzioni Docker con un editor di testo, ad esempio vi. Per l'AMI Amazon Linux ottimizzata per Amazon ECS, il file delle opzioni Docker si trova in /etc/sysconfig/docker.

  3. Trova l'istruzione delle opzioni Docker e aggiungi l'opzione -D alla stringa, tra virgolette.

    Nota

    Se l'istruzione delle opzioni Docker inizia con #, rimuovi questo carattere dall'istruzione e abilita le opzioni.

    Per l'AMI Amazon Linux ottimizzata per Amazon ECS, l'istruzione delle opzioni Docker si chiama OPTIONS. Ad esempio:

    # 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. Salva il file ed esci dall'editor di testo.

  5. Riavvia il daemon Docker.

    sudo service docker restart

    L'output è il seguente:

    Stopping docker: [ OK ] Starting docker: . [ OK ]
  6. Riavvia l'agente Amazon ECS.

    sudo service ecs restart

Il tuo log di Docker dovrebbe ora mostrare un output più dettagliato.

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