Como executar o AWS IoT Greengrass em um contêiner do Docker - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como executar o AWS IoT Greengrass em um contêiner do Docker

O AWS IoT Greengrass pode ser configurado para ser executado em um contêiner Docker.

Você pode baixar um Dockerfile por meio do Amazon CloudFront que tenha o software do núcleo do AWS IoT Greengrass e dependências instalados. Para modificar a imagem do Docker para executar em diferentes arquiteturas de plataforma ou reduzir o tamanho da imagem do Docker, consulte o arquivo README no download do pacote do Docker.

Para ajudar você a começar a testar o AWS IoT Greengrass, a AWS também oferece imagens do Docker pré-compiladas que têm as dependências e o software do núcleo do AWS IoT Greengrass instalados. Faça download de uma imagem do Docker Hub ou do Amazon Elastic Container Registry (Amazon ECR). Essas imagens pré-compiladas usam as imagens base do Amazon Linux 2 (x86_64) e Alpine Linux (x86_64, Armv7l ou AArch64).

Importante

Em 30 de junho de 2022, o AWS IoT Greengrass encerrou a manutenção das imagens do Docker da versão v1.x do software AWS IoT Greengrass Core que são publicadas no Amazon Elastic Container Registry (Amazon ECR) e no Docker Hub. Você pode continuar baixando essas imagens do Docker do Amazon ECR e do Docker Hub até 30 de junho de 2023, ou seja, um ano após o término da manutenção. No entanto, as imagens do Docker da versão v1.x do software AWS IoT Greengrass Core não recebem mais patches de segurança ou correções de erros após o término da manutenção em 30 de junho de 2022. Se você executa uma workload de produção que depende dessas imagens do Docker, recomendamos criar suas próprias imagens do Docker usando os Dockerfiles que o AWS IoT Greengrass fornece. Para obter mais informações, consulte AWS IoT Greengrass Software Docker.

Este tópico descreve como fazer download da AWS IoT Greengrass imagem do Docker do no Amazon ECR e executá-la nas plataformas Windows, macOS, ou Linux (x86_64). O tópico inclui as etapas a seguir:

Os atributos a seguir não são compatíveis quando o AWS IoT Greengrass é executado em um contêiner do Docker:

  • Conectores executados no modo de contêiner do Greengrass. Para executar um conector em um contêiner do Docker, o conector deve ser executado no modo Sem contêiner. Para localizar conectores compatíveis com o modo Sem contêiner consulte Conectores do Greengrass fornecidos pela AWS. Alguns desses conectores têm um parâmetro de modo de isolamento que você deve definir como Sem contêiner.

  • Recursos de volume e dispositivo locais. Suas funções do Lambda definidas pelo usuário executadas no contêiner do Docker devem acessar dispositivos e volumes diretamente no núcleo.

Esses atributos não são compatíveis quando o ambiente de runtime do Lambda para o grupo do Greengrass está definido como Nenhum contêiner, o que é necessário para a execução do AWS IoT Greengrass em um contêiner do Docker.

Pré-requisitos

Antes de começar este tutorial, você deve fazer o seguinte.

  • Você deve instalar os seguintes softwares e versões em seu computador host com base na versão AWS Command Line Interface (AWS CLI) que você escolher.

    AWS CLI version 2
    • Docker, versão 18.09 ou posterior. Versões anteriores também podem funcionar, mas recomendamos a versão 18.09 ou posterior.

    • AWS CLI versão 2.0.0 ou posterior

      nota

      Para atualizar para uma versão 2 mais recente do AWS CLI em um computador Windows, você deve repetir o processo de instalação do MSI.

    AWS CLI version 1
    • Docker, versão 18.09 ou posterior. Versões anteriores também podem funcionar, mas recomendamos a versão 18.09 ou posterior.

    • Python, versão 3.6 ou posterior.

    • pip versão 18.1 ou posterior.

    • AWS CLI versão 1.17.10 ou posterior

      • Para instalar a versão 1 do AWS CLI, consulte Instalando a versão 1 do AWS CLI.

      • Para configurar a AWS CLI, consulte Configurando a AWS CLI.

      • Para atualizar para a versão mais recente da versão 1 do AWS CLI, execute o comando a seguir.

        pip install awscli --upgrade --user
      nota

      Se você usa a instalação do MSI da versão 1 do AWS CLI no Windows, esteja ciente do seguinte:

      • Se a instalação da versão 1 do AWS CLI em instalar o botocore falhar, tente usar a instalação do Python e pip.

      • Para atualizar para uma versão 1 mais recente do AWS CLI, repita o processo de instalação MSI.

  • Para acessar os recursos do Amazon Elastic Container Registry (Amazon ECR), você deve conceder a seguinte permissão.

    • O Amazon ECR exige que os usuários concedam a permissão ecr:GetAuthorizationToken por meio de uma política do IAM AWS Identity and Access Management antes que possam fazer a autenticação para um registro e enviar ou extrair imagens de um repositório do Amazon ECR. Para obter mais informações, consulte Exemplos de políticas do repositório do Amazon ECR e Acessando um repositório do Amazon ECR no Guia do usuário do Amazon Elastic Container Registry.

Etapa 1: obtenha a imagem de contêiner do AWS IoT Greengrass do Amazon ECR

A AWS oferece as imagens do Docker que têm o software do núcleo do AWS IoT Greengrass instalado.

Atenção

A partir da versão v1.11.6 do software AWS IoT Greengrass Core, as imagens do Docker do Greengrass não incluem mais o Python 2.7 porque esta versão chegou ao fim da vida útil em 2020 e não recebe mais atualizações de segurança. Se você optar por atualizar essas imagens do Docker, recomendamos verificar se seus aplicativos funcionam com as novas imagens do Docker antes de implantar as atualizações nos dispositivos de produção. Se você precisar do Python 2.7 para seu aplicativo que usa uma imagem do Docker do Greengrass, poderá modificar o Dockerfile do Greengrass para incluir o Python 2.7 em seu aplicativo.

Para ver as etapas que mostram como obter a imagem latest do Amazon ECR, selecione o seu sistema operacional:

Execute os seguintes comandos no terminal do computador.

  1. Faça login no registro AWS IoT Greengrass no 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

    Se for bem-sucedido, a saída imprimirá Login Succeeded.

  2. Recupere a imagem de contêiner do AWS IoT Greengrass.

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

    A latest imagem contém a versão estável mais recente do software do núcleo do AWS IoT Greengrass instalado na imagem de base do Amazon Linux 2. Você também pode extrair outras imagens do repositório. Para encontrar todas as imagens disponíveis, verifique a página Tags no Hub do Docker ou use o comando aws ecr list-images. Por exemplo:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
  3. Habilite as proteções symlink e hardlink. Se você estiver testando a execução do AWS IoT Greengrass em um contêiner, só poderá habilitar as configurações para a inicialização atual.

    nota

    Talvez você precise usar sudo para executar esses comandos.

    • Para habilitar as configurações só para a inicialização atual:

      echo 1 > /proc/sys/fs/protected_hardlinks echo 1 > /proc/sys/fs/protected_symlinks
    • Para habilitar as configurações de modo que sejam mantidas nas reinicializações:

      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. Habilite o encaminhamento de rede IPv4, que é necessário para que a implantação em nuvem e as comunicações MQTT do AWS IoT Greengrass funcionem no Linux. No arquivo /etc/sysctl.conf, defina net.ipv4.ip_forward como 1 e, em seguida, recarregue sysctls.

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

    Você pode usar o editor de sua selecione no lugar do nano.

Execute os seguintes comandos no terminal do computador.

  1. Faça login no registro AWS IoT Greengrass no 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

    Se for bem-sucedido, a saída imprimirá Login Succeeded.

  2. Recupere a imagem de contêiner do AWS IoT Greengrass.

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

    A latest imagem contém a versão estável mais recente do software do núcleo do AWS IoT Greengrass instalado na imagem de base do Amazon Linux 2. Você também pode extrair outras imagens do repositório. Para encontrar todas as imagens disponíveis, verifique a página Tags no Hub do Docker ou use o comando aws ecr list-images. Por exemplo:

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

Execute os seguintes comandos em um prompt de comando. Antes de você poder usar comandos do Docker no Windows, o Docker Desktop deve estar em execução.

  1. Faça login no registro AWS IoT Greengrass no 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

    Se for bem-sucedido, a saída imprimirá Login Succeeded.

  2. Recupere a imagem de contêiner do AWS IoT Greengrass.

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

    A latest imagem contém a versão estável mais recente do software do núcleo do AWS IoT Greengrass instalado na imagem de base do Amazon Linux 2. Você também pode extrair outras imagens do repositório. Para encontrar todas as imagens disponíveis, verifique a página Tags no Hub do Docker ou use o comando aws ecr list-images. Por exemplo:

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

Etapa 2: Criar e configurar o núcleo e o grupo do Greengrass

A imagem do Docker tem o software do núcleo do AWS IoT Greengrass instalado, mas você deve criar um núcleo e um grupo do Greengrass. Isso inclui o download de certificados e do arquivo de configuração do núcleo.

Etapa 3: Executar o AWS IoT Greengrass localmente

Depois que seu grupo estiver configurado, você estará pronto para configurar e iniciar o núcleo. Para ver as etapas que mostram como fazer isso, selecione o seu sistema operacional:

Execute os seguintes comandos no terminal do computador.

  1. Crie uma pasta para os recursos de segurança do dispositivo e mova o certificado e as chaves para essa pasta. Execute os seguintes comandos. Substitua path-to-security-files pelo caminho para os recursos de segurança e substitua o certificateID pelo ID do certificado nos nomes dos arquivos.

    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. Crie uma pasta para a configuração do dispositivo e mova o arquivo de configuração do Core AWS IoT Greengrass para essa pasta. Execute os seguintes comandos. Substitua path-to-config-file pelo caminho para o arquivo de configuração.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Inicie o AWS IoT Greengrass e salve os certificados e arquivos de configuração como bind mount no contêiner do Docker.

    Substitua /tmp pelo caminho onde você descompactou seus certificados e o arquivo de configuração.

    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

    A saída deve ser semelhante a este exemplo:

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

Execute os seguintes comandos no terminal do computador.

  1. Crie uma pasta para os recursos de segurança do dispositivo e mova o certificado e as chaves para essa pasta. Execute os seguintes comandos. Substitua path-to-security-files pelo caminho para os recursos de segurança e substitua o certificateID pelo ID do certificado nos nomes dos arquivos.

    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. Crie uma pasta para a configuração do dispositivo e mova o arquivo de configuração do Core AWS IoT Greengrass para essa pasta. Execute os seguintes comandos. Substitua path-to-config-file pelo caminho para o arquivo de configuração.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Inicie o AWS IoT Greengrass e salve os certificados e arquivos de configuração como bind mount no contêiner do Docker.

    Substitua /tmp pelo caminho onde você descompactou seus certificados e o arquivo de configuração.

    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

    A saída deve ser semelhante a este exemplo:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10
  1. Crie uma pasta para os recursos de segurança do dispositivo e mova o certificado e as chaves para essa pasta. Execute os seguintes comandos em um prompt de comando. Substitua path-to-security-files pelo caminho para os recursos de segurança e substitua o certificateID pelo ID do certificado nos nomes dos arquivos.

    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. Crie uma pasta para a configuração do dispositivo e mova o arquivo de configuração do Core AWS IoT Greengrass para essa pasta. Execute os seguintes comandos em um prompt de comando. Substitua path-to-config-file pelo caminho para o arquivo de configuração.

    mkdir C:\Users\%USERNAME%\Downloads\config move path-to-config-file\config.json C:\Users\%USERNAME%\Downloads\config
  3. Inicie o AWS IoT Greengrass e salve os certificados e arquivos de configuração como bind mount no contêiner do Docker. Execute os seguintes comandos em seu prompt de comando.

    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 o Docker solicitar que você compartilhe sua unidade C:\ com o daemon do Docker, permita que ele salve o diretório C:\ como bind mount dentro do contêiner do Docker. Para obter mais informações, consulte Unidades compartilhadas na documentação do Docker.

    A saída deve ser semelhante a este exemplo:

    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 o contêiner não abrir o shell e sair imediatamente, você poderá depurar o problema fazendo uma montagem bind dos logs de runtime do ao iniciar a imagem. Para obter mais informações, consulte Como manter os logs de runtime do Greengrass fora do contêiner do Docker.

Etapa 4: Configurar a conteinerização "Sem contêiner" para o grupo do Greengrass

Quando você executa o AWS IoT Greengrass em um contêiner do Docker, todas as funções do Lambda devem ser executadas sem conteinerização. Nesta etapa, você definirá a conteinerização padrão para o grupo como No container (Nenhum contêiner). Você deve fazer isso antes de implantar o grupo pela primeira vez.

  1. No painel de navegação do console de AWS IoT, em Gerenciar, expanda Dispositivos Greengrass e, em seguida selecione Grupos (V1).

  2. Selecione o grupo cujas configurações você deseja alterar.

  3. Selecione a guia Funções do Lambda.

  4. Em Ambiente de runtime da função do Lambda padrão, selecione Editar.

  5. Em Editar o ambiente padrão de runtime da função do Lambda, em Conteinerização padrão da função do Lambda, altere as configurações de conteinerização.

  6. Selecione Salvar.

As alterações entram em vigor quando o grupo é implantado.

Para obter mais informações, consulte Definir a conteinerização padrão para funções do Lambda em um grupo.

nota

Por padrão, as funções do Lambda usam a configuração de conteinerização do grupo. Se você substituir a configuração Nenhum contêiner de qualquer função do Lambda quando o AWS IoT Greengrass estiver em execução em um contêiner do Docker, a implantação falhará.

Etapa 5: implantar funções do Lambda para o contêiner do Docker do AWS IoT Greengrass

Você pode implantar funções do Lam de longa duração para o contêiner do Docker do Greengrass.

Etapa 6: (opcional) implantar dispositivos cliente que interagem com o Greengrass em execução no contêiner do Docker

Você também pode implantar dispositivos cliente que interagem com o AWS IoT Greengrass quando ele está em execução em um contêiner do Docker.

Interromper o contêiner do Docker do AWS IoT Greengrass

Para interromper o contêiner do Docker do AWS IoT Greengrass, pressione Ctrl+C no terminal ou no prompt de comando. Essa ação envia SIGTERM para o processo de daemon do Greengrass a fim de descartar esse processo e todos os processos do Lambda que foram iniciados pelo processo de daemon. O contêiner do Docker é inicializado com o processo /dev/init como PID 1, o que ajuda a eliminar quaisquer processos zumbis restantes. Para obter mais informações, consulte a Referência de execução do Docker.

Solução de problemas do AWS IoT Greengrass em um contêiner do Docker

Use as informações a seguir para ajudá-lo a solucionar problemas comuns com a execução do AWS IoT Greengrass em um contêiner do Docker.

Erro: não é possível realizar um login interativo em um dispositivo não TTY.

Solução: este erro pode ocorrer ao executar o comando aws ecr get-login-password. Verifique se você instalou a versão 2 ou a versão 1 mais recente do AWS CLI. É recomendável usar a versão 2 mais recente do AWS CLI. Para obter mais informações, consulte Instalar a AWS CLI no Guia do usuário da AWS Command Line Interface.

Erro: Opções desconhecidas: -no-include-email

Solução: este erro pode ocorrer ao executar o comando aws ecr get-login. Verifique se você tem a versão mais recente da AWS CLI instalada (por exemplo, execute: pip install awscli --upgrade --user). Se você estiver usando o Windows e tiver instalado a CLI usando o instalador MSI, repita o processo de instalação. Para obter informações, consulte ‭‬Instalar a AWS Command Line Interface no Microsoft Windows‭‬ no ‭‬Guia do usuário do AWS Command Line Interface‭‬.‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

Aviso: IPv4 está desabilitado. As redes não funcionarão.

Solução: esse aviso ou uma mensagem semelhante pode ser recebida ao executar o AWS IoT Greengrass em um computador Linux. Habilite o encaminhamento de rede IPv4 conforme descrito nesta etapa. A implantação da nuvem e as comunicações MQTT do AWS IoT Greengrass não funcionam quando o encaminhamento IPv4 não está habilitado. Para obter mais informações, consulte Configurar parâmetros de kernel com namespace (sysctls) em runtime na documentação do Docker.

Erro: Um firewall está bloqueando o compartilhamento de arquivos entre janelas e os contêineres.

Solução: esse erro ou uma mensagem Firewall Detected pode ser recebida ao executar o Docker em um computador Windows. Esse erro também poderá ocorrer se você estiver conectado em uma rede privada virtual (VPN), e as configurações de rede estiverem impedindo a montagem da unidade compartilhada. Nesse caso, desative a VPN e execute novamente o contêiner do Docker.

Erro: ocorreu um erro (AccessDeniedException) ao chamar a operação GetAuthorizationToken: O usuário: arn:aws:iam::<account-id>:user/<user-name> não está autorizado a executar: ecr:GetAuthorizationToken no recurso: *

É possível que você receba esse erro ao executar o comando aws ecr get-login-password se não tiver permissões suficientes para acessar um repositório do Amazon ECR. Para obter mais informações, consulte Exemplos de políticas de repositório do Amazon ECR e Como acessar um repositório do Amazon ECR no Guia do usuário do Amazon ECR.

Para obter ajuda geral com a solução de problemas do AWS IoT Greengrass, consulte Solução de problemas de AWS IoT Greengrass.

Depurar o AWS IoT Greengrass em um contêiner do Docker

Para depurar problemas com um contêiner do Docker, você pode manter os logs de runtime do Greengrass ou anexar um shell interativo ao contêiner do Docker.

Como manter os logs de runtime do Greengrass fora do contêiner do Docker

Você pode executar o contêiner do Docker do AWS IoT Greengrass depois de fazer uma montagem bind do diretório /greengrass/ggc/var/log. Os logs serão mantidos mesmo depois que o contêiner for encerrado ou removido.

No Linux ou macOS

Pare qualquer contêiner do Docker do Greengrass em execução no host e, em seguida, execute o comando a seguir em um terminal. Isso faz a montagem bind do diretório log do Greengrass e inicia a imagem do Docker.

Substitua /tmp pelo caminho onde você descompactou seus certificados e o arquivo de configuração.

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

Em seguida, você poderá verificar seus logs em /tmp/log no host para ver o que aconteceu enquanto o Greengrass estava em execução dentro do contêiner do Docker.

No Windows

Pare qualquer contêiner do Docker do Greengrass em execução no host e, em seguida, execute o comando a seguir em um prompt de comando. Isso faz a montagem bind do diretório log do Greengrass e inicia a imagem do 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

Em seguida, você poderá verificar seus logs em C:/Users/%USERNAME%/Downloads/log no host para ver o que aconteceu enquanto o Greengrass estava em execução dentro do contêiner do Docker.

Como anexar um shell interativo ao contêiner do Docker

Você pode anexar um shell interativo ao contêiner do Docker em execução no AWS IoT Greengrass. Isso pode ajudar a investigar o estado do contêiner do Docker do Greengrass.

No Linux ou macOS

Enquanto o contêiner do Docker do Greengrass estiver em execução, execute o comando a seguir em um terminal à parte.

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

Enquanto o contêiner do Docker do Greengrass estiver em execução, execute os comandos a seguir em um prompt de comando à parte.

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

Substitua gg-container-id pelo resultado de container_id do comando anterior.

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