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.
Créez l'image du AWS IoT Greengrass conteneur à partir d'un Dockerfile
AWSfournit un Dockerfile que vous pouvez télécharger et utiliser pour exécuter le logiciel AWS IoT Greengrass Core dans un conteneur Docker. Les Dockerfiles contiennent le code source permettant de créer des images de AWS IoT Greengrass conteneurs.
Avant de créer une image de AWS IoT Greengrass conteneur, vous devez configurer votre Dockerfile pour sélectionner la version du logiciel AWS IoT Greengrass Core que vous souhaitez installer. Vous pouvez également configurer des variables d'environnement pour choisir le mode de provisionnement des ressources lors de l'installation et personnaliser d'autres options d'installation. Cette section décrit comment configurer et créer une image AWS IoT Greengrass Docker à partir d'un Dockerfile.
Téléchargez le package Dockerfile
Vous pouvez télécharger le package AWS IoT Greengrass Dockerfile à l'adresse suivante : GitHub
Référentiel Docker AWS Greengrass
Après avoir téléchargé le package, extrayez le contenu
dans le dossier de votre ordinateur. Le Dockerfile utilise une ancienne version de Greengrass. Vous devez mettre à jour le fichier pour utiliser la version de Greengrass que vous souhaitez.download-directory/
aws-greengrass-docker-nucleus-version
Spécifiez la version du logiciel AWS IoT Greengrass Core
Utilisez l'argument build suivant dans le Dockerfile pour spécifier la version du logiciel AWS IoT Greengrass Core que vous souhaitez utiliser dans l'image AWS IoT Greengrass Docker. Par défaut, le Dockerfile utilise la dernière version du logiciel AWS IoT Greengrass Core.
GREENGRASS_RELEASE_VERSION
-
Version du logiciel AWS IoT Greengrass Core. Par défaut, le Dockerfile télécharge la dernière version disponible du noyau Greengrass. Définissez la valeur sur la version du noyau que vous souhaitez télécharger.
Définir les variables d'environnement
Les variables d'environnement vous permettent de personnaliser la façon dont le logiciel AWS IoT Greengrass Core est installé dans le conteneur Docker. Vous pouvez définir des variables d'environnement pour votre image AWS IoT Greengrass Docker de différentes manières.
-
Pour utiliser les mêmes variables d'environnement pour créer plusieurs images, définissez les variables d'environnement directement dans le Dockerfile.
-
Si vous avez l'
docker run
habitude de démarrer votre conteneur, transmettez des variables d'environnement en tant qu'arguments dans la commande ou définissez des variables d'environnement dans un fichier de variables d'environnement, puis transmettez le fichier en argument. Pour plus d'informations sur la définition des variables d'environnement dans Docker, consultez les variables d'environnementdans la documentation Docker. -
Si vous avez l'
docker-compose up
habitude de démarrer votre conteneur, définissez les variables d'environnement dans un fichier de variables d'environnement, puis transmettez le fichier en argument. Pour plus d'informations sur la définition des variables d'environnement dans Compose, consultez la documentation Docker.
Vous pouvez configurer les variables d'environnement suivantes pour l'image AWS IoT Greengrass Docker.
Note
Ne modifiez pas la TINI_KILL_PROCESS_GROUP
variable dans le Dockerfile. Cette variable permet le transfert SIGTERM
vers tous les PID du groupe PID afin que le logiciel AWS IoT Greengrass Core puisse s'arrêter correctement lorsque le conteneur Docker est arrêté.
GGC_ROOT_PATH
-
(Facultatif) Le chemin d'accès au dossier du conteneur à utiliser comme racine pour le logiciel AWS IoT Greengrass Core.
Par défaut :
/greengrass/v2
PROVISION
-
(Facultatif) Détermine si le AWS IoT Greengrass Core fournit AWS des ressources.
-
Si vous le spécifiez
true
, le logiciel AWS IoT Greengrass Core enregistre l'image du conteneur en tant qu'AWS IoTobjet et fournit les AWS ressources dont le périphérique principal Greengrass a besoin. Le logiciel de AWS IoT Greengrass base fournit n'AWS IoTimporte quel objet, (facultatif) un AWS IoT groupe d'objets, un rôle IAM et un alias de AWS IoT rôle. Pour plus d’informations, consultez Exécuter AWS IoT Greengrass dans un conteneur Docker avec provisionnement automatique des ressources. -
Si vous le spécifiez
false
, vous devez créer un fichier de configuration à fournir au programme d'installation AWS IoT Greengrass Core qui indique d'utiliser les AWS ressources et les certificats que vous avez créés manuellement. Pour plus d’informations, consultez Exécuter AWS IoT Greengrass dans un conteneur Docker avec provisionnement manuel des ressources.
Par défaut:
false
-
AWS_REGION
-
(Facultatif) Le Région AWS logiciel AWS IoT Greengrass Core utilise pour récupérer ou créer les AWS ressources requises.
Par défaut:
us-east-1
. THING_NAME
-
(Facultatif) Le nom de l'AWS IoTobjet que vous enregistrez en tant que périphérique principal. Si l'objet portant ce nom n'existe pas dans votre ordinateurCompte AWS, c'est le logiciel AWS IoT Greengrass Core qui le crée.
Vous devez spécifier
PROVISION=true
pour appliquer cet argument.Par défaut :
GreengrassV2IotThing_
plus un UUID aléatoire. THING_GROUP_NAME
-
(Facultatif) Le nom du groupe d'objets auquel vous ajoutez ce périphérique principal est. AWS IoT Si un déploiement cible ce groupe d'objets, celui-ci et les autres appareils principaux de ce groupe reçoivent ce déploiement lorsqu'ils se connectent à ce groupeAWS IoT Greengrass. AWS IoT Si le groupe d'objets portant ce nom n'existe pas dans votre Compte AWS répertoire, le logiciel AWS IoT Greengrass Core le crée.
Vous devez spécifier
PROVISION=true
pour appliquer cet argument. TES_ROLE_NAME
-
(Facultatif) Nom du rôle IAM à utiliser pour obtenir des AWS informations d'identification permettant à l'appareil principal de Greengrass d'interagir avec les AWS services. Si le rôle portant ce nom n'existe pas dans votre répertoireCompte AWS, le logiciel AWS IoT Greengrass Core le crée avec la
GreengrassV2TokenExchangeRoleAccess
politique. Ce rôle n'a pas accès à vos compartiments S3 dans lesquels vous hébergez des artefacts de composants. Vous devez donc ajouter des autorisations aux compartiments et objets S3 de vos artefacts lorsque vous créez un composant. Pour plus d’informations, consultez Autoriser les appareils principaux à interagir avec les AWS services.Par défaut:
GreengrassV2TokenExchangeRole
TES_ROLE_ALIAS_NAME
-
(Facultatif) Le nom de l'alias de AWS IoT rôle qui pointe vers le rôle IAM qui fournit les AWS informations d'identification pour le périphérique principal de Greengrass. Si l'alias de rôle portant ce nom n'existe pas dans votre répertoireCompte AWS, le logiciel AWS IoT Greengrass Core le crée et le pointe vers le rôle IAM que vous spécifiez.
Par défaut :
GreengrassV2TokenExchangeRoleAlias
COMPONENT_DEFAULT_USER
-
(Facultatif) Le nom ou l'ID de l'utilisateur et du groupe du système que le logiciel AWS IoT Greengrass Core utilise pour exécuter les composants. Spécifiez l'utilisateur et le groupe, séparés par deux points. Le groupe est facultatif. Par exemple, vous définissez
ggc_user:ggc_group
ouggc_user
.-
Si vous exécutez en tant que root, l'utilisateur et le groupe définis par le fichier de configuration sont utilisés par défaut. Si le fichier de configuration ne définit pas d'utilisateur ni de groupe, la valeur par défaut est.
ggc_user:ggc_group
S'ilsggc_group
existentggc_user
ou non, le logiciel les crée. -
Si vous l'exécutez en tant qu'utilisateur non root, le logiciel AWS IoT Greengrass Core utilise cet utilisateur pour exécuter les composants.
-
Si vous ne spécifiez aucun groupe, le logiciel AWS IoT Greengrass Core utilise le groupe principal de l'utilisateur du système.
Pour plus d’informations, consultez Configurer l'utilisateur qui exécute les composants.
-
DEPLOY_DEV_TOOLS
-
Définit s'il faut télécharger et déployer le composant Greengrass CLI dans l'image du conteneur. Vous pouvez utiliser la CLI Greengrass pour développer et déboguer des composants localement.
Important
Nous vous recommandons d'utiliser ce composant uniquement dans les environnements de développement, et non dans les environnements de production. Ce composant permet d'accéder à des informations et à des opérations dont vous n'avez généralement pas besoin dans un environnement de production. Respectez le principe du moindre privilège en déployant ce composant uniquement sur les appareils principaux là où vous en avez besoin.
Par défaut :
false
INIT_CONFIG
-
(Facultatif) Le chemin d'accès au fichier de configuration à utiliser pour installer le logiciel AWS IoT Greengrass Core. Vous pouvez utiliser cette option pour configurer de nouveaux appareils principaux Greengrass avec une configuration de noyau spécifique, ou pour spécifier des ressources provisionnées manuellement, par exemple. Vous devez monter votre fichier de configuration sur le chemin que vous spécifiez dans cet argument.
TRUSTED_PLUGIN
-
Cette fonctionnalité est disponible pour les versions 2.4.0 et ultérieures du composant Greengrass nucleus.
(Facultatif) Le chemin d'accès à un fichier JAR à charger en tant que plugin sécurisé. Utilisez cette option pour fournir des fichiers JAR de plug-in de provisionnement, par exemple pour les installer avec le provisionnement de flotte ou le provisionnement personnalisé.
THING_POLICY_NAME
-
Cette fonctionnalité est disponible pour les versions 2.4.0 et ultérieures du composant Greengrass nucleus.
(Facultatif) Nom de la AWS IoT politique à associer au certificat d'AWS IoTobjet de ce périphérique principal. Si la AWS IoT politique portant ce nom n'existe pas dans votre ordinateur, Compte AWS le logiciel AWS IoT Greengrass Core la crée.
Vous devez spécifier
PROVISION=true
pour appliquer cet argument.Note
Le logiciel AWS IoT Greengrass Core crée une AWS IoT politique permissive par défaut. Vous pouvez limiter cette politique ou créer une politique personnalisée dans laquelle vous limitez les autorisations pour votre cas d'utilisation. Pour plus d’informations, consultez AWS IoTPolitique minimale pour les appareils AWS IoT Greengrass V2 principaux.
Spécifiez les dépendances à installer
L'instruction RUN du AWS IoT Greengrass Dockerfile prépare l'environnement du conteneur pour exécuter le programme d'installation du logiciel AWS IoT Greengrass Core. Vous pouvez personnaliser les dépendances installées avant que le programme d'installation du logiciel AWS IoT Greengrass Core ne s'exécute dans le conteneur Docker.
Construisez l'AWS IoT Greengrassimage
Utilisez le AWS IoT Greengrass Dockerfile pour créer une image de AWS IoT Greengrass conteneur. Vous pouvez utiliser la CLI Docker ou la CLI Docker Compose pour créer l'image et démarrer le conteneur. Vous pouvez également utiliser la CLI Docker pour créer l'image, puis utiliser Docker Compose pour démarrer votre conteneur à partir de cette image.
Vous avez créé avec succès l'image du AWS IoT Greengrass conteneur. Le logiciel AWS IoT Greengrass Core est installé sur l'image Docker. Vous pouvez désormais exécuter le logiciel AWS IoT Greengrass Core dans un conteneur Docker.