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
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.
Rubriques
Résolution des problèmes liés à l'exécution du conteneur Docker
Utilisez les informations suivantes pour résoudre les problèmes liés à l'exécution AWS IoT Greengrass dans un conteneur Docker.
Rubriques
- Erreur : Impossible d'effectuer une connexion interactive à partir d'un appareil autre que TTY l'appareil
- Erreur : options inconnues : - no-include-email
- Erreur : Un pare-feu bloque le partage de fichiers entre les fenêtres et les conteneurs.
- 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-idest pas autorisé à effectuer : ecr : on resource : * GetAuthorizationToken
- Erreur : vous avez atteint votre limite de taux d'attraction
Erreur : Impossible d'effectuer une connexion interactive à partir d'un appareil autre que TTY l'appareil
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 dans le Guide de l’utilisateur AWS Command Line Interface .
Erreur : options inconnues : - no-include-email
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 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.
Vous pouvez recevoir cette erreur ou un Firewall Detected
message lors de l'exécution de Docker sur un ordinateur Windows. Cela peut également se produire 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 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 : * GetAuthorizationToken
Cette erreur peut s'afficher 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 ECR référentiel Amazon. Pour plus d'informations, consultez les exemples de politiques relatives aux ECR référentiels Amazon et l'accès à un ECR référentiel Amazon dans le guide de ECR l'utilisateur Amazon.
Erreur : vous avez atteint votre limite de taux d'attraction
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
Débogage AWS IoT Greengrass dans un conteneur Docker
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
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.
/logs/greengrass/v2
Pour monter le
répertoire par liaison, effectuez l'une des opérations suivantes lorsque vous exécutez un nouveau conteneur AWS IoT Greengrass Docker.
/logs/greengrass/v2
-
Incluez
-v
dans votre/tmp/logs
:
/logs:ro/greengrass/v2
docker run
commande.Modifiez le
volumes
bloc dans le fichier Compose pour inclure la ligne suivante avant d'exécuter votredocker-compose up
commande.volumes: -
/tmp/logs
:
/logs:ro/greengrass/v2
Vous pouvez ensuite consulter vos journaux
sur votre hôte pour voir les journaux de Greengrass lorsqu' AWS IoT Greengrass il est exécuté dans le conteneur Docker./tmp/logs
Pour plus d'informations sur l'exécution des conteneurs Greengrass Docker, consultez et Exécuter AWS IoT Greengrass dans Docker avec provisionnement manuel Exécuter AWS IoT Greengrass dans Docker avec provisionnement automatique
Attachez un shell interactif au conteneur Docker
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, voirRésolution des problèmes AWS IoT Greengrass V2.