Gestionnaire d'applications Docker - AWS IoT Greengrass

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.

Gestionnaire d'applications Docker

Le composant du gestionnaire d'applications Docker (aws.greengrass.DockerApplicationManager) permet de télécharger des images Docker AWS IoT Greengrass à partir de registres d'images publics et de registres privés hébergés sur Amazon Elastic Container Registry (Amazon). ECR Il permet également AWS IoT Greengrass de gérer automatiquement les informations d'identification pour télécharger en toute sécurité des images à partir de référentiels privés sur AmazonECR.

Lorsque vous développez un composant personnalisé qui exécute un conteneur Docker, incluez le gestionnaire d'applications Docker en tant que dépendance pour télécharger les images Docker spécifiées comme artefacts dans votre composant. Pour de plus amples informations, veuillez consulter Exécuter un conteneur Docker.

Versions

Les versions de ce composant sont les suivantes :

  • 2,0.x

Type

Ce composant est un composant générique (aws.greengrass.generic). Le noyau Greengrass exécute les scripts de cycle de vie du composant.

Pour de plus amples informations, veuillez consulter Types de composants.

Système d’exploitation

Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :

  • Linux

  • Windows

Prérequis

Ce composant répond aux exigences suivantes :

  • Docker Engine 1.9.1 ou version ultérieure installé sur le périphérique principal de Greengrass. La version 20.10 est la dernière version vérifiée pour fonctionner avec le logiciel AWS IoT Greengrass Core. Vous devez installer Docker directement sur le périphérique principal avant de déployer des composants qui exécutent des conteneurs Docker.

  • Le daemon Docker a démarré et s'est exécuté sur le périphérique principal avant que vous ne déployiez ce composant.

  • Images Docker stockées dans l'une des sources d'images prises en charge suivantes :

    • Référentiels d'images publics et privés dans Amazon Elastic Container Registry (AmazonECR)

    • Référentiel Docker Hub public

    • Registre public de confiance Docker

  • Images Docker incluses sous forme d'artefacts dans vos composants de conteneur Docker personnalisés. Utilisez les URI formats suivants pour spécifier vos images Docker :

    • ECRImage privée d'Amazon : docker:account-id.dkr.ecr.region.amazonaws.com/repository/image[:tag|@digest]

    • ECRImage Amazon publique : docker:public.ecr.aws/repository/image[:tag|@digest]

    • Image publique du Docker Hub : docker:name[:tag|@digest]

    Pour de plus amples informations, veuillez consulter Exécuter un conteneur Docker.

    Note

    Si vous ne spécifiez pas de balise d'image ou de résumé d'image dans l'artefact URI d'une image, le gestionnaire d'applications Docker extrait la dernière version disponible de cette image lorsque vous déployez votre composant de conteneur Docker personnalisé. Pour garantir que tous vos appareils principaux exécutent la même version d'une image, nous vous recommandons d'inclure la balise d'image ou le résumé de l'image dans l'artefactURI.

  • L'utilisateur du système qui exécute un composant de conteneur Docker doit disposer des autorisations root ou administrateur, ou vous devez configurer Docker pour l'exécuter en tant qu'utilisateur non root ou non administrateur.

    • Sur les appareils Linux, vous pouvez ajouter un utilisateur au docker groupe sans lequel vous pouvez appeler docker des commandessudo.

    • Sur les appareils Windows, vous pouvez ajouter un utilisateur au docker-users groupe pour appeler des docker commandes sans privilèges d'administrateur.

    Linux or Unix

    Pour ajouter ggc_user au docker groupe l'utilisateur non root que vous utilisez pour exécuter les composants du conteneur Docker, exécutez la commande suivante.

    sudo usermod -aG docker ggc_user

    Pour plus d'informations, consultez Gérer Docker en tant qu'utilisateur non root.

    Windows Command Prompt (CMD)

    Pour ajouter ggc_user au docker-users groupe l'utilisateur que vous utilisez pour exécuter les composants du conteneur Docker, exécutez la commande suivante en tant qu'administrateur.

    net localgroup docker-users ggc_user /add
    Windows PowerShell

    Pour ajouter ggc_user au docker-users groupe l'utilisateur que vous utilisez pour exécuter les composants du conteneur Docker, exécutez la commande suivante en tant qu'administrateur.

    Add-LocalGroupMember -Group docker-users -Member ggc_user
  • Si vous configurez le logiciel AWS IoT Greengrass Core pour utiliser un proxy réseau, vous devez configurer Docker pour qu'il utilise le même serveur proxy.

  • Si vos images Docker sont stockées dans un registre ECR privé Amazon, vous devez inclure le composant du service d'échange de jetons en tant que dépendance dans le composant conteneur Docker. En outre, le rôle d'appareil Greengrass doit autoriser les ecr:GetDownloadUrlForLayer actions ecr:GetAuthorizationTokenecr:BatchGetImage, et, comme indiqué dans l'exemple IAM de politique suivant.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
  • Le composant du gestionnaire d'applications docker est compatible avec l'exécution dans un. VPC Pour déployer ce composant dans unVPC, les éléments suivants sont requis.

    • Le composant du gestionnaire d'applications docker doit disposer d'une connectivité pour télécharger des images. Par exemple, si vous utilisezECR, vous devez être connecté aux points de terminaison suivants.

      • *.dkr.ecr.region.amazonaws.com(VPCpoint finalcom.amazonaws.region.ecr.dkr)

      • api.ecr.region.amazonaws.com(VPCpoint finalcom.amazonaws.region.ecr.api)

Points de terminaison et ports

Ce composant doit être capable d'effectuer des demandes sortantes vers les points de terminaison et les ports suivants, en plus des points de terminaison et des ports requis pour le fonctionnement de base. Pour de plus amples informations, veuillez consulter Autoriser le trafic des appareils via un proxy ou un pare-feu.

Point de terminaison Port Obligatoire Description

ecr.region.amazonaws.com

443 Non

Obligatoire si vous téléchargez des images Docker depuis AmazonECR.

hub.docker.com

registry.hub.docker.com/v1

443 Non

Obligatoire si vous téléchargez des images Docker depuis Docker Hub.

Dépendances

Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances de chaque version du composant dans la AWS IoT Greengrass console. Sur la page de détails du composant, recherchez la liste des dépendances.

2.0.12

Le tableau suivant répertorie les dépendances pour la version 2.0.12 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,14.0 Flexible
2.0.11

Le tableau suivant répertorie les dépendances pour la version 2.0.11 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,1,0 <2,13,0 Flexible
2.0.10

Le tableau suivant répertorie les dépendances pour la version 2.0.10 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,1,0 <2,12,0 Flexible
2.0.9

Le tableau suivant répertorie les dépendances pour la version 2.0.9 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,1,0 <2,11,0 Flexible
2.0.8

Le tableau suivant répertorie les dépendances pour la version 2.0.8 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,1,0 Flexible
2.0.7

Le tableau suivant répertorie les dépendances pour la version 2.0.7 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,9,0 Flexible
2.0.6

Le tableau suivant répertorie les dépendances pour la version 2.0.6 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,8,0 Flexible
2.0.5

Le tableau suivant répertorie les dépendances pour la version 2.0.5 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,7,0 Flexible
2.0.4

Le tableau suivant répertorie les dépendances pour la version 2.0.4 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,6,0 Flexible
2.0.3

Le tableau suivant répertorie les dépendances pour la version 2.0.3 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,5,0 Flexible
2.0.2

Le tableau suivant répertorie les dépendances pour la version 2.0.2 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,4,0 Flexible
2.0.1

Le tableau suivant répertorie les dépendances pour la version 2.0.1 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,3,0 Flexible
2.0.0

Le tableau suivant répertorie les dépendances pour la version 2.0.0 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,10 <2,2,0 Flexible

Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des composants.

Configuration

Ce composant ne possède aucun paramètre de configuration.

Fichier journal local

Ce composant utilise le même fichier journal que le composant Greengrass nucleus.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Pour consulter les journaux de ce composant
  • Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacer /greengrass/v2 ou C:\greengrass\v2 avec le chemin d'accès au dossier AWS IoT Greengrass racine.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Journal des modifications

Le tableau suivant décrit les modifications apportées à chaque version du composant.

Version

Modifications

2,0,12

Version mise à jour pour la version 2.13.0 de Greengrass Nucleus.

2.0.11

Version mise à jour pour la version 2.12.0 de Greengrass Nucleus.

2.0.10

Version mise à jour pour la version 2.11.0 de Greengrass Nucleus.

2.0.9

Version mise à jour pour la version 2.10.0 de Greengrass Nucleus.

2.0.8

Version mise à jour pour la version 2.9.0 de Greengrass Nucleus.

2.0.7

Version mise à jour pour la version 2.8.0 de Greengrass Nucleus.

2.0.6

Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.

2.0.5

Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.

2.0.4

Version mise à jour pour la version 2.5.0 de Greengrass Nucleus.

2.0.3

Version mise à jour pour la version 2.4.0 de Greengrass Nucleus.

2.0.2

Version mise à jour pour la version 2.3.0 de Greengrass Nucleus.

2.0.1

Version mise à jour pour la version 2.2.0 de Greengrass Nucleus.

2.0.0

Première version.

Consultez aussi