Crea l'immagine del AWS IoT Greengrass contenitore da un Dockerfile - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea l'immagine del AWS IoT Greengrass contenitore da un Dockerfile

AWSfornisce un Dockerfile che puoi scaricare e utilizzare per eseguire AWS IoT Greengrass il software Core in un contenitore Docker. I Dockerfile contengono il codice sorgente per la creazione di immagini dei container. AWS IoT Greengrass

Prima di creare un'immagine del AWS IoT Greengrass contenitore, devi configurare il tuo Dockerfile per selezionare la versione del software AWS IoT Greengrass Core che desideri installare. Puoi anche configurare le variabili di ambiente per scegliere come fornire le risorse durante l'installazione e personalizzare altre opzioni di installazione. Questa sezione descrive come configurare e creare un'immagine AWS IoT Greengrass Docker da un Dockerfile.

Scarica il pacchetto Dockerfile

Puoi scaricare il pacchetto AWS IoT Greengrass Dockerfile da: GitHub

Repository Docker AWS Greengrass

Dopo aver scaricato il pacchetto, estrai il contenuto download-directory/aws-greengrass-docker-nucleus-version nella cartella sul tuo computer. Il Dockerfile utilizza una versione precedente di Greengrass. È necessario aggiornare il file per utilizzare la versione di Greengrass desiderata.

Specificare la versione del software AWS IoT Greengrass Core

Utilizzate il seguente argomento di compilazione nel Dockerfile per specificare la versione del software AWS IoT Greengrass Core che desiderate utilizzare nell'immagine AWS IoT Greengrass Docker. Per impostazione predefinita, il Dockerfile utilizza l'ultima versione del software Core. AWS IoT Greengrass

GREENGRASS_RELEASE_VERSION

La versione del software AWS IoT Greengrass Core. Per impostazione predefinita, il Dockerfile scarica l'ultima versione disponibile del nucleo Greengrass. Imposta il valore sulla versione del nucleo che desideri scaricare.

Impostazione delle variabili di ambiente

Le variabili di ambiente consentono di personalizzare il modo in cui il software AWS IoT Greengrass Core viene installato nel contenitore Docker. Puoi impostare le variabili di ambiente per l'immagine AWS IoT Greengrass Docker in vari modi.

  • Per utilizzare le stesse variabili di ambiente per creare più immagini, imposta le variabili di ambiente direttamente nel Dockerfile.

  • Se lo usi docker run per avviare il contenitore, passa le variabili di ambiente come argomenti nel comando o imposta le variabili di ambiente in un file di variabili di ambiente e poi passa il file come argomento. Per ulteriori informazioni sull'impostazione delle variabili di ambiente in Docker, consulta le variabili di ambiente nella documentazione di Docker.

  • Se lo usi docker-compose up per avviare il contenitore, imposta le variabili di ambiente in un file di variabili di ambiente e poi passa il file come argomento. Per ulteriori informazioni sull'impostazione delle variabili di ambiente in Compose, consulta la documentazione Docker.

È possibile configurare le seguenti variabili di ambiente per l'immagine AWS IoT Greengrass Docker.

Nota

Non modificare la TINI_KILL_PROCESS_GROUP variabile nel Dockerfile. Questa variabile consente l'inoltro SIGTERM a tutti i PID del gruppo PID in modo che il software AWS IoT Greengrass Core possa spegnersi correttamente quando il contenitore Docker viene arrestato.

GGC_ROOT_PATH

(Facoltativo) Il percorso della cartella all'interno del contenitore da utilizzare come root per il software Core. AWS IoT Greengrass

Impostazione predefinita: /greengrass/v2

PROVISION

(Facoltativo) Determina se il AWS IoT Greengrass Core fornisce AWS le risorse.

Default: false

AWS_REGION

(Facoltativo) Regione AWS Quello che il software AWS IoT Greengrass Core utilizza per recuperare o creare le risorse richieste. AWS

Default: us-east-1.

THING_NAME

(Facoltativo) Il nome dell'AWS IoTelemento che registri come dispositivo principale. Se l'oggetto con questo nome non esiste nel tuo computerAccount AWS, il software AWS IoT Greengrass Core lo crea.

È necessario specificare se si PROVISION=true desidera applicare questo argomento.

Impostazione predefinita: GreengrassV2IotThing_ più un UUID casuale.

THING_GROUP_NAME

(Facoltativo) Il nome del gruppo di oggetti a cui si aggiunge questo dispositivo principale è AWS IoT Se una distribuzione è destinata a questo gruppo di oggetti, questo e gli altri dispositivi principali di quel gruppo ricevono quella distribuzione quando si connette. AWS IoT AWS IoT Greengrass Se il gruppo di oggetti con questo nome non esiste nel tuoAccount AWS, il software AWS IoT Greengrass Core lo crea.

È necessario specificare PROVISION=true di applicare questo argomento.

TES_ROLE_NAME

(Facoltativo) Il nome del ruolo IAM da utilizzare per acquisire AWS credenziali che consentono al dispositivo principale Greengrass di interagire con AWS i servizi. Se il ruolo con questo nome non esiste nel tuo accountAccount AWS, il software AWS IoT Greengrass Core lo crea con la GreengrassV2TokenExchangeRoleAccess policy. Questo ruolo non ha accesso ai tuoi bucket S3 dove ospiti gli artefatti dei componenti. Pertanto, è necessario aggiungere le autorizzazioni ai bucket e agli oggetti S3 degli artefatti quando si crea un componente. Per ulteriori informazioni, consulta Autorizza i dispositivi principali a interagire con i servizi AWS.

Default: GreengrassV2TokenExchangeRole

TES_ROLE_ALIAS_NAME

(Facoltativo) Il nome dell'alias del AWS IoT ruolo che punta al ruolo IAM che fornisce AWS le credenziali per il dispositivo principale Greengrass. Se l'alias del ruolo con questo nome non esiste nel tuo computerAccount AWS, il software AWS IoT Greengrass Core lo crea e lo indirizza al ruolo IAM da te specificato.

Impostazione predefinita: GreengrassV2TokenExchangeRoleAlias

COMPONENT_DEFAULT_USER

(Facoltativo) Il nome o l'ID dell'utente e del gruppo di sistema utilizzati dal software AWS IoT Greengrass Core per eseguire i componenti. Specificate l'utente e il gruppo, separati da due punti. Il gruppo è facoltativo. Ad esempio, puoi specificare ggc_user:ggc_group o ggc_user.

  • Se esegui come root, per impostazione predefinita sono l'utente e il gruppo definiti dal file di configurazione. Se il file di configurazione non definisce un utente e un gruppo, il valore predefinito è. ggc_user:ggc_group Se esistono ggc_user o ggc_group non esistono, il software li crea.

  • Se si esegue come utente non root, il software AWS IoT Greengrass Core utilizza quell'utente per eseguire i componenti.

  • Se non specificate un gruppo, il software AWS IoT Greengrass Core utilizza il gruppo principale dell'utente del sistema.

Per ulteriori informazioni, consulta Configurare l'utente che esegue i componenti.

DEPLOY_DEV_TOOLS

Definisce se scaricare e distribuire il componente Greengrass CLI nell'immagine del contenitore. È possibile utilizzare la Greengrass CLI per sviluppare ed eseguire il debug dei componenti localmente.

Importante

Si consiglia di utilizzare questo componente solo in ambienti di sviluppo, non in ambienti di produzione. Questo componente fornisce l'accesso a informazioni e operazioni che in genere non sono necessarie in un ambiente di produzione. Segui il principio del privilegio minimo distribuendo questo componente solo sui dispositivi principali dove ne hai bisogno.

Impostazione predefinita: false

INIT_CONFIG

(Facoltativo) Il percorso del file di configurazione da utilizzare per installare il software AWS IoT Greengrass Core. È possibile utilizzare questa opzione per configurare nuovi dispositivi core Greengrass con una configurazione del nucleo specifica o per specificare risorse assegnate manualmente, ad esempio. È necessario montare il file di configurazione nel percorso specificato in questo argomento.

TRUSTED_PLUGIN

Questa funzionalità è disponibile per la versione 2.4.0 e successive del componente Greengrass nucleus.

(Facoltativo) Il percorso di un file JAR da caricare come plugin affidabile. Utilizzate questa opzione per fornire i file JAR del plug-in di provisioning, ad esempio da installare con fleet provisioning o custom provisioning.

THING_POLICY_NAME

Questa funzionalità è disponibile per la versione 2.4.0 e successive del componente Greengrass nucleus.

(Facoltativo) Il nome della AWS IoT policy da allegare al thing certificate di questo dispositivo principale. AWS IoT Se la AWS IoT politica con questo nome non esiste nel tuo computer, Account AWS il software AWS IoT Greengrass Core la crea.

È necessario specificare PROVISION=true se applicare questo argomento.

Nota

Il software AWS IoT Greengrass Core crea una AWS IoT politica permissiva per impostazione predefinita. È possibile definire l'ambito di questa politica o creare una politica personalizzata in cui limitare le autorizzazioni per il proprio caso d'uso. Per ulteriori informazioni, consulta AWS IoTPolitica minima per i dispositivi AWS IoT Greengrass V2 principali.

Specificate le dipendenze da installare

L'istruzione RUN nel AWS IoT Greengrass Dockerfile prepara l'ambiente contenitore per eseguire il programma di installazione del AWS IoT Greengrass software Core. È possibile personalizzare le dipendenze installate prima dell'esecuzione del programma di installazione del software AWS IoT Greengrass Core nel contenitore Docker.

Costruisci l'immagine AWS IoT Greengrass

Usa il AWS IoT Greengrass Dockerfile per creare un'immagine del AWS IoT Greengrass contenitore. Puoi utilizzare la CLI Docker o la CLI Docker Compose per creare l'immagine e avviare il contenitore. Puoi anche utilizzare la CLI Docker per creare l'immagine e quindi utilizzare Docker Compose per avviare il contenitore da quell'immagine.

Docker
  1. Sulla macchina host, esegui il seguente comando per passare alla directory che contiene il Dockerfile configurato.

    cd download-directory/aws-greengrass-docker-nucleus-version
  2. Esegui il comando seguente per creare l'immagine del AWS IoT Greengrass contenitore dal Dockerfile.

    sudo docker build -t "platform/aws-iot-greengrass:nucleus-version" ./
Docker Compose
  1. Sul computer host, esegui il comando seguente per passare alla directory che contiene il Dockerfile e il file Compose.

    cd download-directory/aws-greengrass-docker-nucleus-version
  2. Esegui il comando seguente per utilizzare il file Compose per creare l'immagine del contenitore. AWS IoT Greengrass

    docker-compose -f docker-compose.yml build

L'immagine del AWS IoT Greengrass contenitore è stata creata con successo. Nell'immagine Docker è installato il software AWS IoT Greengrass Core. Ora puoi eseguire il software AWS IoT Greengrass Core in un contenitore Docker.