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á.
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 e para depurar problemas com o AWS IoT Greengrass no contêiner do Docker.
Tópicos
Solução de problemas ao executar o 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.
Tópicos
Erro: não é possível realizar um login interativo em um dispositivo não TTY
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
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). Para obter informações, consulte Instalar a AWS Command Line Interface no Microsoft Windows no Guia do usuário do AWS Command Line Interface.
Erro: Um firewall está bloqueando o compartilhamento de arquivos entre janelas e os contêineres.
Esse erro ou uma mensagem Firewall Detected podem ser recebidos 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.
Erro: você atingiu seu limite de taxa de pull
O Docker Hub limita o número de solicitações de pull que usuários anônimos e gratuitos do Docker Hub podem fazer. Se você exceder os limites de taxa para solicitações de pull de usuários anônimos ou gratuitos, você receberá um dos seguintes erros:
-
ERROR: toomanyrequests: Too Many Requests. -
You have reached your pull rate limit.
Para resolver esses erros, espere algumas horas antes de tentar outra solicitação de pull. Se você planeja enviar um grande número de solicitações de pull, consulte o site do Docker Hub
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.
Manter os logs do Greengrass fora do contêiner do Docker
Depois de parar um contêiner do AWS IoT Greengrass, é possível usar o seguinte comando docker cp para copiar os logs do Greengrass do contêiner do Docker para um diretório de logs temporário.
docker cpcontainer-id:/greengrass/v2/logs/tmp/logs
Para manter os logs mesmo após a saída ou remoção de um contêiner, execute o contêiner do Docker do AWS IoT Greengrass após a montagem do diretório . /logs/greengrass/v2
Para montar o diretório , faça o seguinte ao executar um novo contêiner do Docker do AWS IoT Greengrass./logs/greengrass/v2
-
Inclua
-vno comando/tmp/logs:/logs:ro/greengrass/v2docker run.Modifique o bloco
volumesno arquivo Compose para incluir a linha a seguir antes de executar o comandodocker-compose up.volumes: -/tmp/logs:/logs:ro/greengrass/v2
Em seguida, será possível verificar seus logs em no host para ver os logs do Greengrass enquanto o AWS IoT Greengrass estava em execução dentro do contêiner do Docker./tmp/logs
Para informações sobre a execução de contêineres do Docker do Greengrass, consulte Execute AWS IoT Greengrass no Docker com provisionamento manual e Executar AWS IoT Greengrass no Docker com provisionamento manual
Anexar um shell interativo ao contêiner do Docker
Quando você usa docker exec para executar comandos dentro do contêiner do Docker, esses comandos não são capturados nos logs do Docker. Registrar seus comandos nos logs do Docker ajuda a investigar o estado do contêiner do Docker do Greengrass. Execute um destes procedimentos:
-
Execute o seguinte comando em um terminal separado para conectar a entrada, a saída e o erro padrão do terminal ao contêiner em execução. Isso permite visualizar e controlar o contêiner do Docker a partir do terminal atual.
docker attachcontainer-id -
Execute o comando a seguir em um terminal separado. Isso permite executar os comandos no modo interativo, mesmo que o contêiner não esteja conectado.
docker exec -itcontainer-idsh -c "command> /proc/1/fd/1"
Para ajuda com a solução de problemas do AWS IoT Greengrass, consulte Solução de problemas AWS IoT Greengrass V2.