Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen des AWS IoT Greengrass Container-Images aus einer Dockerfile-Datei
AWS stellt eine Docker-Datei bereit, die Sie herunterladen und verwenden können, um AWS IoT Greengrass Core-Software in einem Docker-Container auszuführen. Dockerfiles enthalten Quellcode zum Erstellen von AWS IoT Greengrass Container-Images.
Bevor Sie ein -AWS IoT GreengrassContainer-Image erstellen, müssen Sie Ihre Dockerfile so konfigurieren, dass sie die Version der -AWS IoT GreengrassCore-Software auswählt, die Sie installieren möchten. Sie können auch Umgebungsvariablen konfigurieren, um auszuwählen, wie Ressourcen während der Installation bereitgestellt und andere Installationsoptionen angepasst werden sollen. In diesem Abschnitt wird beschrieben, wie Sie ein AWS IoT Greengrass Docker-Image aus einer Dockerfile konfigurieren und erstellen.
Herunterladen des Dockerfile-Pakets
Sie können das AWS IoT Greengrass Dockerfile-Paket von herunterladen GitHub:
AWS Greengrass Docker-Repository
Nachdem Sie das Paket heruntergeladen haben, extrahieren Sie den Inhalt in den
Ordner auf Ihrem Computer. Das Dockerfile verwendet eine ältere Version von Greengrass. Sie sollten die Datei aktualisieren, um die gewünschte Version von Greengrass zu verwenden.download-directory/
aws-greengrass-docker-nucleus-version
Angeben der AWS IoT Greengrass Core-Softwareversion
Verwenden Sie das folgende Build-Argument im Dockerfile, um die Version der AWS IoT Greengrass Core-Software anzugeben, die Sie im AWS IoT Greengrass Docker-Image verwenden möchten. Standardmäßig verwendet das Dockerfile die neueste Version der AWS IoT Greengrass Core-Software.
GREENGRASS_RELEASE_VERSION
-
Die Version der -AWS IoT GreengrassCore-Software. Standardmäßig lädt die Dockerfile die neueste verfügbare Version des Greengrass-Kerns herunter. Legen Sie den Wert auf die Version des Kerns fest, die Sie herunterladen möchten.
Festlegen von Umgebungsvariablen
Mit Umgebungsvariablen können Sie anpassen, wie AWS IoT Greengrass Core-Software im Docker-Container installiert wird. Sie können Umgebungsvariablen für Ihr AWS IoT Greengrass Docker-Image auf verschiedene Arten festlegen.
-
Um dieselben Umgebungsvariablen zum Erstellen mehrerer Images zu verwenden, legen Sie Umgebungsvariablen direkt im Dockerfile fest.
-
Wenn Sie verwenden,
docker run
um Ihren Container zu starten, übergeben Sie Umgebungsvariablen als Argumente im Befehl oder legen Sie Umgebungsvariablen in einer Umgebungsvariablendatei fest und übergeben Sie die Datei dann als Argument. Weitere Informationen zum Festlegen von Umgebungsvariablen in Docker finden Sie in den Umgebungsvariablenin der Docker-Dokumentation. -
Wenn Sie
docker-compose up
zum Starten Ihres Containers verwenden, legen Sie Umgebungsvariablen in einer Umgebungsvariablendatei fest und übergeben Sie die Datei dann als Argument. Weitere Informationen zum Festlegen von Umgebungsvariablen in Compose finden Sie in der Docker-Dokumentation.
Sie können die folgenden Umgebungsvariablen für das AWS IoT Greengrass Docker-Image konfigurieren.
Anmerkung
Ändern Sie die TINI_KILL_PROCESS_GROUP
Variable im Dockerfile nicht. Diese Variable ermöglicht die Weiterleitung SIGTERM
an alle PIDs in der PID-Gruppe, sodass die AWS IoT Greengrass Core-Software ordnungsgemäß heruntergefahren werden kann, wenn der Docker-Container gestoppt wird.
GGC_ROOT_PATH
-
(Optional) Der Pfad zum Ordner innerhalb des Containers, der als Root für die AWS IoT Greengrass Core-Software verwendet werden soll.
Standard:
/greengrass/v2
PROVISION
-
(Optional) Bestimmt, ob der AWS IoT Greengrass Core AWS Ressourcen bereitstellt.
-
Wenn Sie angeben
true
, registriert die -AWS IoT GreengrassCore-Software das Container-Image als -AWS IoTObjekt und stellt die AWS Ressourcen bereit, die das Greengrass-Core-Gerät benötigt. Die AWS IoT Greengrass -Core-Software stellt ein -AWS IoTObjekt, (optional) eine -AWS IoTObjektgruppe, eine IAM-Rolle und einen -AWS IoTRollenalias bereit. Weitere Informationen finden Sie unter AWS IoT Greengrass In einem Docker-Container mit automatischer Ressourcenbereitstellung ausführen. -
Wenn Sie angeben
false
, müssen Sie eine Konfigurationsdatei erstellen, die dem AWS IoT Greengrass Core-Installationsprogramm zur Verfügung gestellt wird und angibt, dass die AWS Ressourcen und Zertifikate verwendet werden sollen, die Sie manuell erstellt haben. Weitere Informationen finden Sie unter Ausführen AWS IoT Greengrass in einem Docker-Container mit manueller Ressourcenbereitstellung.
Standard:
false
-
AWS_REGION
-
(Optional) Die AWS-Region, die die AWS IoT Greengrass -Core-Software zum Abrufen oder Erstellen der erforderlichen AWS Ressourcen verwendet.
Standard:
us-east-1
. THING_NAME
-
(Optional) Der Name des AWS IoT Objekts, das Sie als dieses Core-Gerät registrieren. Wenn das Objekt mit diesem Namen in Ihrem nicht vorhanden istAWS-Konto, erstellt die AWS IoT Greengrass Core-Software es.
Sie müssen angeben
PROVISION=true
, um dieses Argument anzuwenden.Standard:
GreengrassV2IotThing_
plus eine zufällige UUID. THING_GROUP_NAME
-
(Optional) Der Name der AWS IoT Objektgruppe, zu der Sie die dieses Core-Geräts hinzufügen AWS IoT Wenn eine Bereitstellung auf diese Objektgruppe abzielt, erhalten diese und andere Core-Geräte in dieser Gruppe diese Bereitstellung, wenn sie eine Verbindung zu herstellenAWS IoT Greengrass. Wenn die Objektgruppe mit diesem Namen in Ihrem nicht vorhanden istAWS-Konto, erstellt die AWS IoT Greengrass Core-Software sie.
Sie müssen angeben
PROVISION=true
, um dieses Argument anzuwenden. TES_ROLE_NAME
-
(Optional) Der Name der IAM-Rolle, die zum Abrufen von AWS Anmeldeinformationen verwendet werden soll, mit denen das Greengrass-Kerngerät mit -AWSServices interagieren kann. Wenn die Rolle mit diesem Namen in Ihrem nicht vorhanden istAWS-Konto, erstellt die AWS IoT Greengrass Core-Software sie mit der
GreengrassV2TokenExchangeRoleAccess
Richtlinie . Diese Rolle hat keinen Zugriff auf Ihre S3-Buckets, in denen Sie Komponentenartefakte hosten. Daher müssen Sie den S3-Buckets und -Objekten Ihrer Artefakte Berechtigungen hinzufügen, wenn Sie eine Komponente erstellen. Weitere Informationen finden Sie unter Autorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS.Standard:
GreengrassV2TokenExchangeRole
TES_ROLE_ALIAS_NAME
-
(Optional) Der Name des AWS IoT Rollenalias, der auf die IAM-Rolle verweist, die AWS Anmeldeinformationen für das Greengrass-Kerngerät bereitstellt. Wenn der Rollenalias mit diesem Namen in Ihrem nicht vorhanden istAWS-Konto, erstellt die -AWS IoT GreengrassCore-Software ihn und verweist ihn auf die von Ihnen angegebene IAM-Rolle.
Standard:
GreengrassV2TokenExchangeRoleAlias
COMPONENT_DEFAULT_USER
-
(Optional) Der Name oder die ID des Systembenutzers und der Systemgruppe, die die AWS IoT Greengrass Core-Software zum Ausführen von Komponenten verwendet. Geben Sie den Benutzer und die Gruppe durch einen Doppelpunkt getrennt an. Die Gruppe ist optional. Sie können beispielsweise
ggc_user:ggc_group
oderggc_user
angeben.-
Wenn Sie als Stamm ausführen, wird standardmäßig der Benutzer und die Gruppe verwendet, die in der Konfigurationsdatei definiert sind. Wenn die Konfigurationsdatei keinen Benutzer und keine Gruppe definiert, ist dies standardmäßig
ggc_user:ggc_group
. Wennggc_user
oderggc_group
nicht vorhanden sind, erstellt die Software sie. -
Wenn Sie als Nicht-Root-Benutzer ausführen, verwendet die AWS IoT Greengrass -Core-Software diesen Benutzer, um Komponenten auszuführen.
-
Wenn Sie keine Gruppe angeben, verwendet die AWS IoT Greengrass Core-Software die primäre Gruppe des Systembenutzers.
Weitere Informationen finden Sie unter Konfigurieren Sie den Benutzer, der die Komponenten ausführt.
-
DEPLOY_DEV_TOOLS
-
Definiert, ob die Greengrass-CLI-Komponente im Container-Image heruntergeladen und bereitgestellt werden soll. Sie können die Greengrass-CLI verwenden, um Komponenten lokal zu entwickeln und zu debuggen.
Wichtig
Wir empfehlen, diese Komponente nur in Entwicklungsumgebungen und nicht in Produktionsumgebungen zu verwenden. Diese Komponente bietet Zugriff auf Informationen und Abläufe, die Sie normalerweise in einer Produktionsumgebung nicht benötigen. Folgen Sie dem Prinzip der geringsten Berechtigung, indem Sie diese Komponente nur auf Core-Geräten bereitstellen, auf denen Sie sie benötigen.
Standard:
false
INIT_CONFIG
-
(Optional) Der Pfad zur Konfigurationsdatei, die zum Installieren der AWS IoT Greengrass Core-Software verwendet werden soll. Mit dieser Option können Sie neue Greengrass-Core-Geräte mit einer bestimmten Kernkonfiguration einrichten oder manuell bereitgestellte Ressourcen angeben. Sie müssen Ihre Konfigurationsdatei in dem Pfad mounten, den Sie in diesem Argument angeben.
TRUSTED_PLUGIN
-
Diese Funktion ist für v2.4.0 und höher der Greengrass-Kernkomponente verfügbar.
(Optional) Der Pfad zu einer JAR-Datei, die als vertrauenswürdiges Plugin geladen werden soll. Verwenden Sie diese Option, um Bereitstellungs-Plugin-JAR-Dateien bereitzustellen, z. B. um mit Flottenbereitstellung oder benutzerdefinierter Bereitstellung zu installieren.
THING_POLICY_NAME
-
Diese Funktion ist für v2.4.0 und höher der Greengrass-Kernkomponente verfügbar.
(Optional) Der Name der AWS IoT Richtlinie, die an das AWS IoT Objektzertifikat dieses Core-Geräts angehängt werden soll. Wenn die AWS IoT Richtlinie mit diesem Namen in Ihrer AWS IoT Greengrass Core-Software nicht vorhanden ist, erstellt AWS-Konto sie.
Sie müssen angeben
PROVISION=true
, um dieses Argument anzuwenden.Anmerkung
Die AWS IoT Greengrass -Core-Software erstellt standardmäßig eine zulässige AWS IoT Richtlinie. Sie können diese Richtlinie einschränken oder eine benutzerdefinierte Richtlinie erstellen, in der Sie die Berechtigungen für Ihren Anwendungsfall einschränken. Weitere Informationen finden Sie unter Minimale AWS IoT Richtlinie für -AWS IoT Greengrass V2Core-Geräte.
Angeben der zu installierenden Abhängigkeiten
Die RUN-Anweisung im AWS IoT Greengrass Dockerfile bereitet die Containerumgebung vor, um das AWS IoT Greengrass Core-Softwareinstallationsprogramm auszuführen. Sie können die Abhängigkeiten anpassen, die installiert werden, bevor das AWS IoT Greengrass Core-Softwareinstallationsprogramm im Docker-Container ausgeführt wird.
Erstellen des AWS IoT Greengrass Images
Verwenden Sie das AWS IoT Greengrass Dockerfile, um ein -AWS IoT GreengrassContainer-Image zu erstellen. Sie können die Docker CLI oder die Docker Compose CLI verwenden, um das Image zu erstellen und den Container zu starten. Sie können auch die Docker-CLI verwenden, um das Image zu erstellen, und dann Docker Compose verwenden, um Ihren Container von diesem Image aus zu starten.
Sie haben das AWS IoT Greengrass Container-Image erfolgreich erstellt. Auf dem Docker-Image ist die -AWS IoT GreengrassCore-Software installiert. Sie können die -AWS IoT GreengrassCore-Software jetzt in einem Docker-Container ausführen.