Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas AWS IoT Greengrass en un contenedor Docker
Usa la siguiente información como ayuda para solucionar problemas relacionados con la ejecución AWS IoT Greengrass en un contenedor de Docker y para depurar los problemas AWS IoT Greengrass en el contenedor de Docker.
Temas
Solución de problemas al ejecutar el contenedor de Docker
Usa la siguiente información para solucionar problemas relacionados con la ejecución AWS IoT Greengrass en un contenedor de Docker.
Temas
- Error: no se puede realizar un inicio de sesión interactivo desde un dispositivo que no sea TTY
- Error: opciones desconocidas: - no-include-email
- Error: A firewall is blocking file Sharing between windows and the containers.
- Error: se produjo un error (AccessDeniedException) al llamar a la GetAuthorizationToken operación: el usuario: arn:aws:iam: ::user/ <user-name>no account-id está autorizado a realizar: ecr: on resource: * GetAuthorizationToken
- Error: Ha alcanzado su límite de tasa de cambios
Error: no se puede realizar un inicio de sesión interactivo desde un dispositivo que no sea TTY
Este error puede producirse al ejecutar el comando aws ecr get-login-password
. Asegúrese de haber instalado la última AWS CLI versión 2 o 1. Le recomendamos que utilice la AWS CLI versión 2. Para obtener más información, consulte Installing the AWS CLI en la Guía del usuario de AWS Command Line Interface .
Error: opciones desconocidas: - no-include-email
Este error puede producirse al ejecutar el comando aws ecr get-login
. Asegúrese de tener instalada la última AWS CLI versión (por ejemplo, Run:pip install awscli
--upgrade --user
). Para obtener más información, consulte Instalación de AWS Command Line Interface en Microsoft Windows en la Guía del AWS Command Line Interface usuario.
Error: A firewall is blocking file Sharing between windows and the containers.
Puede que reciba este error o un mensaje Firewall Detected
al ejecutar Docker en un equipo Windows. Esto también puede ocurrir si ha iniciado sesión en una red privada virtual (VPN) y la configuración de la red impide que se monte la unidad compartida. En ese caso, apague VPN y vuelva a ejecutar el contenedor Docker.
Error: se produjo un error (AccessDeniedException) al llamar a la GetAuthorizationToken operación: el usuario: arn:aws:iam: ::user/ <user-name>no account-id
está autorizado a realizar: ecr: on resource: * GetAuthorizationToken
Es posible que recibas este error al ejecutar el aws ecr get-login-password
comando si no tienes permisos suficientes para acceder a un ECR repositorio de Amazon. Para obtener más información, consulte Ejemplos de políticas de ECR repositorios de Amazon y Acceso a un ECR repositorio de Amazon en la Guía del ECR usuario de Amazon.
Error: Ha alcanzado su límite de tasa de cambios
Docker Hub limita la cantidad de solicitudes de cambio que pueden realizar los usuarios anónimos y gratuitos de Docker Hub. Si supera los límites de tasa de solicitudes de cambio de usuarios anónimos o gratuitos, entonces recibe uno de los siguientes errores:
-
ERROR: toomanyrequests: Too Many Requests.
-
You have reached your pull rate limit.
Para resolver estos errores, puede esperar unas horas antes de intentar realizar otra solicitud de cambio. Si planea enviar una gran cantidad de solicitudes de cambio de forma constante, visite el sitio web de Docker Hub
Depuración AWS IoT Greengrass en un contenedor de Docker
Para depurar problemas con un contenedor de Docker, puede conservar los registros del tiempo de ejecución de Greengrass o asociar un intérprete de comandos interactivo al contenedor de Docker.
Conservación de los registros de Greengrass fuera del contenedor de Docker
Tras detener un AWS IoT Greengrass contenedor, puede usar el siguiente docker cp
comando para copiar los registros de Greengrass del contenedor de Docker a un directorio de registros temporal.
docker cp
container-id
:/greengrass/v2/logs/tmp/logs
Para conservar los registros incluso después de que un contenedor salga o se elimine, debe ejecutar el contenedor AWS IoT Greengrass Docker después de montar el directorio en un enlace.
/logs/greengrass/v2
Para montar el
directorio en un enlace, realice una de las siguientes acciones cuando ejecute un contenedor Docker nuevo. AWS IoT Greengrass
/logs/greengrass/v2
-
Incluya
-v
en su comando/tmp/logs
:
/logs:ro/greengrass/v2
docker run
.Modifique el bloque
volumes
en el archivo de Compose para incluir la siguiente línea antes de ejecutar el comandodocker-compose up
.volumes: -
/tmp/logs
:
/logs:ro/greengrass/v2
A continuación, puede comprobar sus registros
en su host para ver los registros de Greengrass mientras AWS IoT Greengrass se ejecuta dentro del contenedor de Docker./tmp/logs
Para obtener información sobre cómo ejecutar contenedores de Docker de Greengrass, consulte Ejecución de AWS IoT Greengrass en Docker con aprovisionamiento manual y Se ejecuta AWS IoT Greengrass en Docker con aprovisionamiento automático.
Asociación de un intérprete de comandos interactivo a un contenedor de Docker
Cuando utiliza docker exec
para ejecutar comandos dentro del contenedor de Docker, esos comandos no se capturan en los registros de Docker. Registrar los comandos en los registros de Docker puede ayudarlo a investigar el estado del contenedor de Docker de Greengrass. Realice una de las siguientes acciones:
-
Ejecute el siguiente comando en un terminal independiente para adjuntar la entrada, la salida y el error estándar del terminal al contenedor en ejecución. Esto le permite ver y controlar el contenedor de Docker desde su terminal actual.
docker attach
container-id
-
Ejecute el siguiente comando en un terminal independiente. Esto le permite ejecutar sus comandos en modo interactivo, incluso si el contenedor no está conectado.
docker exec -it
container-id
sh -c "command
> /proc/1/fd/1"
Para obtener información general sobre la AWS IoT Greengrass solución de problemas, consulte. Solución de problemas AWS IoT Greengrass V2