Esecuzione di AWS IoT Greengrass in un container Docker - AWS IoT Greengrass

AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.

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

Esecuzione di AWS IoT Greengrass in un container Docker

AWS IoT Greengrass può essere configurato per l'esecuzione in un container Docker.

Puoi scaricare un Dockerfile tramite Amazon inCloudFront cui sono installati il softwareAWS IoT Greengrass Core e le dipendenze. Per modificare l'immagine Docker per l'esecuzione su architetture della piattaforma diverse o ridurre la dimensione dell'immagine Docker, consulta il file README nel download del pacchetto Docker.

Per aiutarti a iniziare a sperimentare AWS IoT Greengrass, AWS fornisce anche immagini Docker precostruite che hanno installato il software AWS IoT Greengrass Core e le dipendenze. Puoi scaricare un'immagine da Docker Hub o Amazon Elastic Elastic Container Container Container Container Container Container Container Container Contain Queste immagini predefinite utilizzano immagini di base Amazon Linux 2 (x86_64) e Alpine Linux (x86_64, ARMv7l o AArch64).

Importante

Il 30 giugno 2022,AWS IoT Greengrass è terminata la manutenzione delle immagini Docker del softwareAWS IoT Greengrass Core v1.x pubblicate su Amazon Elastic Container Registry (Amazon ECR) e Docker Hub. Puoi continuare a scaricare queste immagini Docker da Amazon ECR e Docker Hub fino al 30 giugno 2023, ovvero 1 anno dopo la fine della manutenzione. Tuttavia, le immagini Docker del softwareAWS IoT Greengrass Core v1.x non ricevono più patch di sicurezza o correzioni di bug dopo la fine della manutenzione il 30 giugno 2022. Se esegui un carico di lavoro di produzione che dipende da queste immagini Docker, ti consigliamo di creare le tue immagini Docker utilizzando i DockerfileAWS IoT Greengrass forniti. Per ulteriori informazioni, consulta AWS IoT Greengrass Software Docker.

Questo argomento descrive come scaricare l'immagineAWS IoT Greengrass Docker da Amazon ECR ed eseguirla su una piattaforma Windows, macOS o Linux (x86_64). L’argomento include le seguenti fasi:

Le seguenti funzionalità non sono supportate quando si esegue AWS IoT Greengrass in un container Docker:

  • Connettori eseguiti in modalità container Greengrass. Per eseguire un connettore in un container Docker, il connettore deve essere eseguito in modalità Nessun container. Per trovare i connettori che supportano la modalità Nessun container consulta AWS-connettori Greengrass forniti. Alcuni di questi connettori dispongono di un parametro della modalità di isolamento che devi impostare su No container (Nessun contenitore).

  • Risorse volume e dispositivo locale. Le funzioni Lambda definite dall'utente eseguite nel contenitore Docker devono accedere direttamente ai dispositivi e ai volumi sul core.

Queste funzionalità non sono supportate quando l'ambiente di runtime Lambda per il gruppo Greengrass è impostato su Nessun contenitore, necessario per l'esecuzioneAWS IoT Greengrass in un contenitore Docker.

Prerequisiti

Prima di iniziare il tutorial, assicurati di eseguire le operazioni indicate di seguito.

  • È necessario installare il software e le versioni seguenti sul computer host in base alla versioneAWS Command Line Interface (AWS CLI) scelta.

    AWS CLI version 2
    • Docker versione 18.09 o successiva. Anche le versioni precedenti potrebbero funzionare, ma consigliamo la 18.09 o successiva.

    • AWS CLIversione 2.0.0 o versioni successive.

      Nota

      Per eseguire l'aggiornamento a unaAWS CLI versione successiva 2 su un computer Windows, è necessario ripetere il processo di installazione MSI.

    AWS CLI version 1
    • Docker versione 18.09 o successiva. Anche le versioni precedenti potrebbero funzionare, ma consigliamo la 18.09 o successiva.

    • Python versione 3.6 o versioni successive.

    • pip versione 18.1 o successiva.

    • AWS CLIversione 1.17.10 o successiva

      Nota

      Se utilizzi l'installazione MSI dellaAWS CLI versione 1 su Windows, tieni presente quanto segue:

      • Se l'installazione dellaAWS CLI versione 1 non riesce a installare botocore, prova a utilizzare l'installazione di Python e pip.

      • Per eseguire l'aggiornamento a unaAWS CLI versione successiva 1, è necessario ripetere il processo di installazione MSI.

  • Per accedere alle risorse Amazon Elastic Container Registry (Amazon ECR) Container Container Container

    • Amazon ECR richiede che gli utenti concedano l'ecr:GetAuthorizationTokenautorizzazione tramite una policyAWS Identity and Access Management (IAM) prima che possano autenticarsi in un registro ed eseguire l'invio o l'estrazione delle immagini da un repository Amazon ECR. Per maggiori informazioni, consulta gli esempi delle policy per i repository Amazon ECR Container Container Container Container Container Container Container Container Container Container Container Registry Container Container Container Container

Passaggio 1: ottieni l'immagine delAWS IoT Greengrass container da Amazon ECR

AWS fornisce immagini Docker in cui è installato il software AWS IoT Greengrass Core.

avvertimento

A partire dalla v1.11.6 del softwareAWS IoT Greengrass Core, le immagini di Greengrass Docker non includono più Python 2.7, perché Python 2.7 ha raggiunto end-of-life nel 2020 e non riceve più aggiornamenti di sicurezza. Se scegli di eseguire l'aggiornamento a queste immagini Docker, ti consigliamo di convalidare che le tue applicazioni funzionino con le nuove immagini Docker prima di distribuire gli aggiornamenti sui dispositivi di produzione. Se hai bisogno di Python 2.7 per la tua applicazione che utilizza un'immagine Docker Greengrass, puoi modificare il Dockerfile Greengrass per includere Python 2.7 per la tua applicazione.

Per i passaggi che mostrano come estrarre l'latestimmagine da Amazon ECR, scegli il tuo sistema operativo:

Esegui i seguenti comandi nel terminale del computer.

  1. Accedi alAWS IoT Greengrass registro in Amazon ECR.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin https://216483018798.dkr.ecr.us-west-2.amazonaws.com

    In caso di esito positivo, l'output stampa Login Succeeded.

  2. Recupera l'immagine del container AWS IoT Greengrass.

    docker pull 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
    Nota

    L'immagine latest contiene l'ultima versione stabile del software AWS IoT Greengrass Core installato su un'immagine di base Amazon Linux 2. È anche possibile estrarre altre versioni dall'archivio. Per trovare tutte le immagini disponibili, controlla la pagina Tag in Docker Hub o usa il comando aws ecr list-images. Ad esempio:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
  3. Abilita la protezione symlink e hardlink. Se stai sperimentando l'esecuzione di AWS IoT Greengrass in un container, puoi abilitare le impostazioni solo per il processo di avvio corrente.

    Nota

    Potresti dover utilizzare sudo per eseguire questi comandi.

    • Per abilitare le impostazioni solo per l'avvio corrente:

      echo 1 > /proc/sys/fs/protected_hardlinks echo 1 > /proc/sys/fs/protected_symlinks
    • Per rendere le impostazioni persistenti in caso di riavvio:

      echo '# AWS IoT Greengrass' >> /etc/sysctl.conf echo 'fs.protected_hardlinks = 1' >> /etc/sysctl.conf echo 'fs.protected_symlinks = 1' >> /etc/sysctl.conf sysctl -p
  4. Abilita l'inoltro di rete IPv4, necessario affinché la distribuzione del cloud AWS IoT Greengrass e le comunicazioni MQTT funzionino con Linux. Nel file /etc/sysctl.conf, imposta net.ipv4.ip_forward su 1, quindi ricarica sysctls.

    sudo nano /etc/sysctl.conf # set this net.ipv4.ip_forward = 1 sudo sysctl -p
    Nota

    Puoi utilizzare l'editor che desideri al posto di nano.

Esegui i seguenti comandi nel terminale del computer.

  1. Accedi alAWS IoT Greengrass registro in Amazon ECR.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin https://216483018798.dkr.ecr.us-west-2.amazonaws.com

    In caso di esito positivo, l'output stampa Login Succeeded.

  2. Recupera l'immagine del container AWS IoT Greengrass.

    docker pull 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
    Nota

    L'immagine latest contiene l'ultima versione stabile del software AWS IoT Greengrass Core installato su un'immagine di base Amazon Linux 2. È anche possibile estrarre altre versioni dall'archivio. Per trovare tutte le immagini disponibili, controlla la pagina Tag in Docker Hub o usa il comando aws ecr list-images. Ad esempio:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass

Esegui i comandi seguenti in un prompt di comandi. Prima di utilizzare i comandi di Docker su Windows, Docker Desktop deve essere in esecuzione.

  1. Accedi alAWS IoT Greengrass registro in Amazon ECR.

    aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin https://216483018798.dkr.ecr.us-west-2.amazonaws.com

    In caso di esito positivo, l'output stampa Login Succeeded.

  2. Recupera l'immagine del container AWS IoT Greengrass.

    docker pull 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
    Nota

    L'immagine latest contiene l'ultima versione stabile del software AWS IoT Greengrass Core installato su un'immagine di base Amazon Linux 2. È anche possibile estrarre altre versioni dall'archivio. Per trovare tutte le immagini disponibili, controlla la pagina Tag in Docker Hub o usa il comando aws ecr list-images. Ad esempio:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass

Fase 2: creazione e configurazione del gruppo e del core Greengrass

L'immagine Docker ha il software AWS IoT Greengrass Core installato, ma è necessario creare un gruppo e un core Greengrass. Questa operazione include il download dei certificati e del file di configurazione del core.

Fase 3: esecuzione di AWS IoT Greengrass in locale

Una volta configurato il gruppo, è possibile configurare e avviare il core. Per le fasi che mostrano come eseguire questa operazione, scegli il sistema operativo:

Esegui i seguenti comandi nel terminale del computer.

  1. Crea una cartella per le risorse di sicurezza del dispositivo e sposta il certificato e le chiavi in quella cartella. Esegui i comandi seguenti. Sostituisci path-to-security-filescon il percorso delle risorse di sicurezza e sostituisci CertificateID con l'certificateId nei nomi dei file.

    mkdir /tmp/certs mv path-to-security-files/certificateId-certificate.pem.crt /tmp/certs mv path-to-security-files/certificateId-public.pem.key /tmp/certs mv path-to-security-files/certificateId-private.pem.key /tmp/certs mv path-to-security-files/AmazonRootCA1.pem /tmp/certs
  2. Crea una cartella per la configurazione del dispositivo e sposta il file di configurazioneAWS IoT Greengrass Core in quella cartella. Esegui i comandi seguenti. Sostituisci path-to-config-filecon il percorso del file di configurazione.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Avvia AWS IoT Greengrass ed esegui il montaggio vincolato dei certificati e del file di configurazione nel container Docker.

    Sostituisci /tmp con il percorso in cui hai decompresso i certificati e il file di configurazione.

    docker run --rm --init -it --name aws-iot-greengrass \ --entrypoint /greengrass-entrypoint.sh \ -v /tmp/certs:/greengrass/certs \ -v /tmp/config:/greengrass/config \ -p 8883:8883 \ 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

    L'output dovrebbe essere simile al seguente:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10

Esegui i seguenti comandi nel terminale del computer.

  1. Crea una cartella per le risorse di sicurezza del dispositivo e sposta il certificato e le chiavi in quella cartella. Esegui i comandi seguenti. Sostituisci path-to-security-filescon il percorso delle risorse di sicurezza e sostituisci CertificateID con l'certificateId nei nomi dei file.

    mkdir /tmp/certs mv path-to-security-files/certificateId-certificate.pem.crt /tmp/certs mv path-to-security-files/certificateId-public.pem.key /tmp/certs mv path-to-security-files/certificateId-private.pem.key /tmp/certs mv path-to-security-files/AmazonRootCA1.pem /tmp/certs
  2. Crea una cartella per la configurazione del dispositivo e sposta il file di configurazioneAWS IoT Greengrass Core in quella cartella. Esegui i comandi seguenti. Sostituisci path-to-config-filecon il percorso del file di configurazione.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Avvia AWS IoT Greengrass ed esegui il montaggio vincolato dei certificati e del file di configurazione nel container Docker.

    Sostituisci /tmp con il percorso in cui hai decompresso i certificati e il file di configurazione.

    docker run --rm --init -it --name aws-iot-greengrass \ --entrypoint /greengrass-entrypoint.sh \ -v /tmp/certs:/greengrass/certs \ -v /tmp/config:/greengrass/config \ -p 8883:8883 \ 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

    L'output dovrebbe essere simile al seguente:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10
  1. Crea una cartella per le risorse di sicurezza del dispositivo e sposta il certificato e le chiavi in quella cartella. Esegui i comandi seguenti in un prompt di comandi. Sostituisci path-to-security-filescon il percorso delle risorse di sicurezza e sostituisci CertificateID con l'certificateId nei nomi dei file.

    mkdir C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\certificateId-certificate.pem.crt C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\certificateId-public.pem.key C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\certificateId-private.pem.key C:\Users\%USERNAME%\Downloads\certs move path-to-security-files\AmazonRootCA1.pem C:\Users\%USERNAME%\Downloads\certs
  2. Crea una cartella per la configurazione del dispositivo e sposta il file di configurazioneAWS IoT Greengrass Core in quella cartella. Esegui i comandi seguenti in un prompt di comandi. Sostituisci path-to-config-filecon il percorso del file di configurazione.

    mkdir C:\Users\%USERNAME%\Downloads\config move path-to-config-file\config.json C:\Users\%USERNAME%\Downloads\config
  3. Avvia AWS IoT Greengrass ed esegui il montaggio vincolato dei certificati e del file di configurazione nel container Docker. Esegui i comandi seguenti nel prompt di comandi.

    docker run --rm --init -it --name aws-iot-greengrass --entrypoint /greengrass-entrypoint.sh -v c:/Users/%USERNAME%/Downloads/certs:/greengrass/certs -v c:/Users/%USERNAME%/Downloads/config:/greengrass/config -p 8883:8883 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

    Quando Docker ti richiede di condividere l'unità C:\ con il daemon Docker, consenti di eseguire il montaggio vincolato della directory C:\ all'interno del container Docker. Per ulteriori informazioni, consulta la sezione relativa alle unità condivise nella documentazione Docker.

    L'output dovrebbe essere simile al seguente:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10
Nota

Se il container non apre la shell e si chiude immediatamente, puoi eseguire il debug del problema mediante il montaggio vincolato dei log di runtime di Greengrass all'avvio dell'immagine. Per ulteriori informazioni, consulta Per rendere persistenti i log di runtime Greengrass all'interno del container Docker.

Fase 4: configurazione della containerizzazione "No container" per il gruppo Greengrass

Quando si esegueAWS IoT Greengrass in un contenitore Docker, tutte le funzioni Lambda devono essere eseguite senza containerizzazione. In questa fase, assicurati di aver impostato la containerizzazione predefinita per il gruppo su No container (Nessun container). È necessario eseguire questa operazione prima di distribuire il gruppo per la prima volta.

  1. Nel pannello di navigazione dellaAWS IoT console, sotto Gestisci, espandi i dispositivi Greengrass, quindi scegli Gruppi (V1).

  2. Scegli il gruppo di cui desideri modificare le impostazioni.

  3. Scegli la scheda Funzioni Lambda.

  4. In Ambiente di runtime della funzione Lambda predefinito, scegli Modifica.

  5. Nell'ambiente di runtime Modifica funzione Lambda predefinita, in Containerizzazione predefinita della funzione Lambda, modifica le impostazioni di containerizzazione.

  6. Seleziona Salva.

Le modifiche diventano effettive quando il gruppo viene distribuito.

Per ulteriori informazioni, consulta Impostazione della containerizzazione predefinita per le funzioni Lambda in un gruppo.

Nota

Per impostazione predefinita, le funzioni Lambda utilizzano l'impostazione di containerizzazione del gruppo. Se si sovrascrive l'impostazione No container per qualsiasi funzione Lambda quandoAWS IoT Greengrass è in esecuzione in un contenitore Docker, la distribuzione ha esito negativo.

Fase 5: Implementazione delle funzioni Lambda nel contenitoreAWS IoT Greengrass Docker

È possibile distribuire funzioni Lambda di lunga durata nel contenitore Greengrass Docker.

Fase 6: (Facoltativo) Implementazione dei dispositivi client che interagiscono con Greengrass in esecuzione nel contenitore Docker

Puoi anche distribuire dispositivi client con cui interagisconoAWS IoT Greengrass quando è in esecuzione in un contenitore Docker.

Arresto del container Docker AWS IoT Greengrass

Per arrestare il container Docker AWS IoT Greengrass, premi Ctrl+C sul terminale o nel prompt dei comandi. Questa azione inviaSIGTERM al processo daemon Greengrass per eliminare il processo daemon Greengrass e tutti i processi Lambda avviati dal processo daemon. Il container Docker viene inizializzato con il processo /dev/init come PID 1 per facilitare la rimozione di eventuali processi zombie rimanenti. Per ulteriori informazioni, consulta la pagina di riferimento per l'esecuzione del Docker.

Risoluzione dei problemi di AWS IoT Greengrass in un container Docker

Utilizza le informazioni riportate di seguito per risolvere i problemi più comuni con l'esecuzione di AWS IoT Greengrass in un container Docker.

Errore: impossibile eseguire un accesso interattivo da un dispositivo non TTY.

Soluzione: questo errore può verificarsi quando si esegue il comando aws ecr get-login-password. Assicurati di aver installato l'ultimaAWS CLI versione 2 o la versione 1. Ti consigliamo di utilizzare laAWS CLI versione 2. Per ulteriori informazioni, consulta Installazione della AWS CLI nella Guida per l'utente di AWS Command Line Interface.

Errore: opzioni sconosciute: -no-include-email.

Soluzione: questo errore può verificarsi quando si esegue il comando aws ecr get-login. Verifica che sia installata la versione AWS CLI più recente (per esempio, esegui: pip install awscli --upgrade --user). Se utilizzi Windows e hai installato l'interfaccia a riga di comando utilizzando il programma di installazione di MSI, è necessario ripetere il processo di installazione. Per ulteriori informazioni, vedere Installazione del fileAWS Command Line Interface su Microsoft Windows nella Guida per l'AWS Command Line Interfaceutente.

Attenzione: IPv4 è disattivato. Networking non funzionerà.

Soluzione: è possibile ricevere questa avvertenza o un messaggio simile, quando AWS IoT Greengrass è in esecuzione su un computer Linux. Abilita l'inoltro di rete IPv4, come descritto in questa fase. La distribuzione del cloud AWS IoT Greengrass e le comunicazioni MQTT non funzionano se l'inoltro IPv4 non è abilitato. Per ulteriori informazioni, consulta Configurazione di parametri kernel associati a uno spazio dei nomi (sysctls) durante il runtime nella documentazione Docker.

Errore: un firewall sta bloccando la condivisione di file tra finestre e contenitori.

Soluzione: è possibile ricevere questo errore o un messaggio Firewall Detected quando viene eseguito Docker su un computer Windows. Questo errore può inoltre verificarsi se sei connesso a una rete privata virtuale (VPN, Virtual Private Network) e le impostazioni di rete impediscono il montaggio dell'unità condivisa. In tal caso, disattivare la rete VPN e riavviare il container Docker.

Errore: si è verificato un errore (AccessDeniedException) durante la chiamata dell'GetAuthorizationTokenoperazione: User: arn:aws:iam: ::user/ <account-id><user-name>non è autorizzato a eseguire: ecr: onGetAuthorizationToken resource: *

Potresti ricevere questo errore durante l'esecuzione delaws ecr get-login-password comando se si non dispone di autorizzazioni sufficienti per accedere a un repository Amazon ECR. Per ulteriori informazioni, consulta Esempi di policy relative ai repository di Amazon ECR e Accesso a un repository Amazon ECR nella Amazon ECR User Guide.

Per un aiuto generale nella risoluzione dei problemi di AWS IoT Greengrass, consulta Risoluzione dei problemi relativi a AWS IoT Greengrass.

Debug di AWS IoT Greengrass in un container Docker

Per il debug dei problemi relativi a un container Docker, puoi rendere persistenti i log di runtime Greengrass o collegare una shell interattiva al container Docker.

Per rendere persistenti i log di runtime Greengrass all'interno del container Docker

Puoi eseguire il container Docker AWS IoT Greengrass dopo in montaggio vincolato della directory /greengrass/ggc/var/log. I log persistono anche dopo la chiusura o la rimozione del container.

Su Linux o macOS

Interrompi qualsiasi container Docker Greengrass in esecuzione sull'host, quindi esegui il comando seguente in un terminale. In questo modo viene eseguito il montaggio vincolato della directory log di Greengrass e viene avviata l'immagine Docker.

Sostituisci /tmp con il percorso in cui hai decompresso i certificati e il file di configurazione.

docker run --rm --init -it --name aws-iot-greengrass \ --entrypoint /greengrass-entrypoint.sh \ -v /tmp/certs:/greengrass/certs \ -v /tmp/config:/greengrass/config \ -v /tmp/log:/greengrass/ggc/var/log \ -p 8883:8883 \ 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

In seguito, puoi esaminare i log in /tmp/log sull'host per scoprire cosa è successo mentre Greengrass era in esecuzione all'interno del container Docker.

Su Windows

Interrompi qualsiasi container Docker Greengrass in esecuzione sull'host, quindi esegui il comando seguente in un prompt dei comandi. In questo modo viene eseguito il montaggio vincolato della directory log di Greengrass e viene avviata l'immagine Docker.

cd C:\Users\%USERNAME%\Downloads mkdir log docker run --rm --init -it --name aws-iot-greengrass --entrypoint /greengrass-entrypoint.sh -v c:/Users/%USERNAME%/Downloads/certs:/greengrass/certs -v c:/Users/%USERNAME%/Downloads/config:/greengrass/config -v c:/Users/%USERNAME%/Downloads/log:/greengrass/ggc/var/log -p 8883:8883 216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest

In seguito, puoi esaminare i log in C:/Users/%USERNAME%/Downloads/log sull'host per scoprire cosa è successo mentre Greengrass era in esecuzione all'interno del container Docker.

Per collegare una shell interattiva al container Docker

Puoi collegare una shell interattiva a un container Docker AWS IoT Greengrass in esecuzione. Questo può essere utile per esaminare lo stato del container Docker Greengrass.

Su Linux o macOS

Mentre il container Docker Greengrass è in esecuzione esegui il comando seguente in un terminale separato.

docker exec -it $(docker ps -a -q -f "name=aws-iot-greengrass") /bin/bash
Su Windows

Mentre il container Docker Greengrass è in esecuzione esegui i comandi seguenti in un prompt dei comandi separato.

docker ps -a -q -f "name=aws-iot-greengrass"

Sostituisci gg-container-idcon ilcontainer_id risultato del comando precedente.

docker exec -it gg-container-id /bin/bash