View a markdown version of this page

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 dans Amazon ECR.

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 composant.

Système d’exploitation

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

  • Linux

  • Windows

Exigences

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. Les versions jusqu'à la version 29.6.0 incluse, telles que 20.10, 24.0, 25.0 et 27.5, fonctionnent avec le logiciel Core. AWS IoT Greengrass Vous devez installer Docker directement sur l'appareil principal avant de déployer des composants qui exécutent des conteneurs Docker.

  • Le démon Docker a démarré et s'est exécuté sur l'appareil 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 (Amazon ECR)

    • Référentiel public Docker Hub

    • Registre public de confiance Docker

  • Images Docker incluses en tant qu'artefacts dans les composants de votre conteneur Docker personnalisé. Utilisez les formats d'URI suivants pour spécifier vos images Docker :

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

    • Image publique Amazon ECR : 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 la balise d'image ou le résumé d'image dans l'URI de l'artefact pour 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 vous assurer 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 condensé d'image dans l'URI de l'artefact.

  • L'utilisateur système qui exécute un composant de conteneur Docker doit disposer d'autorisations root ou d'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 pour qu'il puisse appeler docker des commandes sanssudo.

    • 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 utiliser le même serveur proxy.

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

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
  • Le composant Docker Application Manager est pris en charge pour fonctionner dans un VPC. Pour déployer ce composant dans un VPC, les conditions suivantes sont requises.

    • Le composant Docker Application Manager doit être connecté pour télécharger des images. Par exemple, si vous utilisez ECR, vous devez disposer d'une connectivité aux points de terminaison suivants.

      • *.dkr.ecr.region.amazonaws.com(point de terminaison com.amazonaws.region.ecr.dkr VPC)

      • api.ecr.region.amazonaws.com(point de terminaison com.amazonaws.region.ecr.api VPC)

Points de terminaison et ports

Ce composant doit être capable d'effectuer des requêtes sortantes vers les terminaux 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.

Endpoint Port Obligatoire Description

ecr.region.amazonaws.com

443 Non

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

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, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les 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 pour chaque version du composant dans la AWS IoT Greengrass console. Sur la page des détails des composants, recherchez la liste des dépendances.

2.0.15

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

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

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

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

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

Dépendance Versions compatibles Type de dépendance
Noyau Greengrass > = 2,1,0 < 2,15,0 Flexible
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 Greengrass > = 2,1,0 < 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 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 Greengrass > = 2,1,0 < 2,12,0 Flexible
2.0.9

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

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

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

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

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

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

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

Dépendance Versions compatibles Type de dépendance
Noyau Greengrass > = 2,1,0 < 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 Greengrass > = 2,1,0 < 2,7,0 Flexible
2.0.4

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

Dépendance Versions compatibles Type de dépendance
Noyau Greengrass > = 2,1,0 < 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 Greengrass > = 2,1,0 < 2,5,0 Flexible
2.0.2

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

Dépendance Versions compatibles Type de dépendance
Noyau Greengrass > = 2,1,0 < 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 Greengrass > = 2,1,0 < 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 Greengrass > = 2,1,0 < 2,2,0 Flexible

Pour plus d'informations sur les dépendances des composants, consultez la référence des recettes 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 afficher 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. Remplacez /greengrass/v2 ou C:\greengrass\v2 par le chemin du 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,17

Met à jour la version du composant pour la version 2.18.0 de Greengrass Nucleus.

2,0,16

Met à jour la version du composant pour la version 2.17.0 de Greengrass Nucleus.

2,0,15

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

2,0,14

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

2.0.13

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

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