

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes AWS IoT Greengrass dans un conteneur Docker
<a name="docker-troubleshooting"></a>

Utilisez les informations suivantes pour résoudre les problèmes liés à l'exécution AWS IoT Greengrass dans un conteneur Docker et pour résoudre les problèmes liés AWS IoT Greengrass au conteneur Docker.

**Topics**
+ [Résolution des problèmes liés à l'exécution du conteneur Docker](#troubleshooting-container-errors)
+ [Débogage AWS IoT Greengrass dans un conteneur Docker](#debugging-greengrass-in-docker)

## Résolution des problèmes liés à l'exécution du conteneur Docker
<a name="troubleshooting-container-errors"></a>

Utilisez les informations suivantes pour résoudre les problèmes liés à l'exécution AWS IoT Greengrass dans un conteneur Docker.

**Topics**
+ [Erreur : impossible d'effectuer une connexion interactive à partir d'un appareil autre que TTY](#docker-troubleshootin-ecr-get-login-password)
+ [Erreur : options inconnues : - no-include-email](#docker-troubleshooting-cli-version)
+ [Erreur : Un pare-feu bloque le partage de fichiers entre les fenêtres et les conteneurs.](#docker-troubleshooting-firewall)
+ [Erreur : une erreur s'est produite (AccessDeniedException) lors de l'appel de l' GetAuthorizationToken opération : L'utilisateur : arn:aws:iam : ::user/ <user-name>n'*account-id*est pas autorisé à effectuer : ecr : on resource : \$1 GetAuthorizationToken](#docker-troubleshooting-ecr-perms)
+ [Erreur : vous avez atteint votre limite de taux d'attraction](#docker-troubleshooting-too-many-requests)

### Erreur : impossible d'effectuer une connexion interactive à partir d'un appareil autre que TTY
<a name="docker-troubleshootin-ecr-get-login-password"></a>

Cette erreur peut se produire lorsque vous exécutez la `aws ecr get-login-password` commande. Assurez-vous d'avoir installé la dernière AWS CLI version 2 ou version 1. Nous vous recommandons d'utiliser la AWS CLI version 2. Pour plus d’informations, consultez [Installation d’ AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) dans le *Guide de l’utilisateur AWS Command Line Interface *.

### Erreur : options inconnues : - no-include-email
<a name="docker-troubleshooting-cli-version"></a>

Cette erreur peut se produire lorsque vous exécutez la `aws ecr get-login` commande. Assurez-vous que la dernière AWS CLI version est installée (par exemple, Run :`pip install awscli --upgrade --user`). Pour plus d'informations, consultez la section [Installation du AWS Command Line Interface sous Microsoft Windows](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html) dans le *Guide de AWS Command Line Interface l'utilisateur*.

### Erreur : Un pare-feu bloque le partage de fichiers entre les fenêtres et les conteneurs.
<a name="docker-troubleshooting-firewall"></a>

Vous pouvez recevoir cette erreur ou un `Firewall Detected` message lors de l'exécution de Docker sur un ordinateur Windows. Ce problème peut également survenir si vous êtes connecté à un réseau privé virtuel (VPN) et que vos paramètres réseau empêchent le montage du lecteur partagé. Dans ce cas, désactivez le VPN et réexécutez le conteneur Docker.

### Erreur : une erreur s'est produite (AccessDeniedException) lors de l'appel de l' GetAuthorizationToken opération : L'utilisateur : arn:aws:iam : ::user/ <user-name>n'*account-id*est pas autorisé à effectuer : ecr : on resource : \$1 GetAuthorizationToken
<a name="docker-troubleshooting-ecr-perms"></a>

Vous pouvez recevoir cette erreur lors de l'exécution de la `aws ecr get-login-password` commande si vous ne disposez pas des autorisations suffisantes pour accéder à un référentiel Amazon ECR. Pour plus d'informations, consultez les [exemples de politiques relatives aux référentiels Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) et [l'accès à un référentiel Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_id-based-policy-examples.html) dans le guide de l'utilisateur *Amazon ECR.*

### Erreur : vous avez atteint votre limite de taux d'attraction
<a name="docker-troubleshooting-too-many-requests"></a>

Docker Hub limite le nombre de pull requests que les utilisateurs anonymes et gratuits de Docker Hub peuvent effectuer. Si vous dépassez les limites de débit pour les pull requests anonymes ou gratuites destinées aux utilisateurs, vous recevez l'une des erreurs suivantes : 

  

```
ERROR: toomanyrequests: Too Many Requests.
```

  

```
You have reached your pull rate limit.
```

Pour résoudre ces erreurs, vous pouvez attendre quelques heures avant d'essayer une autre pull request. Si vous prévoyez de soumettre régulièrement un grand nombre de pull requests, consultez le [site Web de Docker Hub](https://www.docker.com/increase-rate-limits) pour obtenir des informations sur les limites de débit et les options d'authentification et de mise à niveau de votre compte Docker. 

## Débogage AWS IoT Greengrass dans un conteneur Docker
<a name="debugging-greengrass-in-docker"></a>

Pour déboguer les problèmes avec un conteneur Docker, vous pouvez conserver les journaux d'exécution Greengrass ou attacher un shell interactif au conteneur Docker.

### Persister les logs Greengrass en dehors du conteneur Docker
<a name="debugging-docker-persist-logs"></a>

Après avoir arrêté un AWS IoT Greengrass conteneur, vous pouvez utiliser la `docker cp ` commande suivante pour copier les journaux Greengrass du conteneur Docker vers un répertoire de journaux temporaire. 

```
docker cp container-id:/greengrass/v2/logs /tmp/logs
```

Pour conserver les journaux même après la sortie ou la suppression d'un conteneur, vous devez exécuter le conteneur AWS IoT Greengrass Docker après avoir monté le répertoire par liaison. `/greengrass/v2/logs` 

Pour monter le `/greengrass/v2/logs` répertoire par liaison, effectuez l'une des opérations suivantes lorsque vous exécutez un nouveau conteneur AWS IoT Greengrass Docker.
+ Incluez `-v /tmp/logs:/greengrass/v2/logs:ro` dans votre `docker run` commande.

  Modifiez le `volumes` bloc dans le fichier Compose pour inclure la ligne suivante avant d'exécuter votre `docker-compose up` commande.

  ```
  volumes:
   - /tmp/logs:/greengrass/v2/logs:ro
  ```

Vous pouvez ensuite consulter vos journaux `/tmp/logs` sur votre hôte pour voir les journaux de Greengrass lorsqu' AWS IoT Greengrass il est exécuté dans le conteneur Docker.

Pour plus d'informations sur l'exécution des conteneurs Greengrass Docker, consultez et [Exécuter AWS IoT Greengrass dans Docker avec provisionnement manuel](run-greengrass-docker-manual-provisioning.md) [Exécuter AWS IoT Greengrass dans Docker avec provisionnement automatique](run-greengrass-docker-automatic-provisioning.md)

### Attachez un shell interactif au conteneur Docker
<a name="debugging-docker-attach-shell"></a>

Lorsque vous exécutez `docker exec` des commandes dans le conteneur Docker, ces commandes ne sont pas capturées dans les journaux Docker. L'enregistrement de vos commandes dans les journaux Docker peut vous aider à étudier l'état du conteneur Greengrass Docker. Effectuez l’une des actions suivantes :
+ Exécutez la commande suivante dans un terminal séparé pour associer l'entrée, la sortie et l'erreur standard de votre terminal au conteneur en cours d'exécution. Cela vous permet de visualiser et de contrôler le conteneur Docker depuis votre terminal actuel.

  ```
  docker attach container-id
  ```
+ Exécutez la commande suivante dans un terminal séparé. Cela vous permet d'exécuter vos commandes en mode interactif, même si le conteneur n'est pas attaché.

  ```
  docker exec -it container-id sh -c "command > /proc/1/fd/1"
  ```

Pour un AWS IoT Greengrass dépannage général, voir[Résolution des problèmes AWS IoT Greengrass V2](troubleshooting.md).