Ejecución de AWS IoT Greengrass en un contenedor Docker - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no publicará actualizaciones que proporcionen características, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten en AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes características nuevas y es compatible con más plataformas.

Ejecución de AWS IoT Greengrass en un contenedor Docker

AWS IoT Greengrass se puede configurar para que se ejecute en un contenedor de Docker.

Puede descargar un Dockerfile a través de Amazon CloudFront que tenga el software y las dependencias de AWS IoT Greengrass Core instalados. Para modificar la imagen de Docker de manera que se ejecute en arquitecturas de plataforma distintas o para reducir el tamaño de la imagen de Docker, consulte el archivo README del paquete de descarga de Docker.

Para ayudarle a comenzar a experimentar con AWS IoT Greengrass, AWS también proporciona imágenes de Docker prediseñadas que tienen instalado el software AWS IoT Greengrass Core y las dependencias. Puede descargar imágenes de Docker Hub o Amazon Elastic Container Registry (Amazon ECR). Estas imágenes prediseñadas utilizan imágenes base de Amazon Linux 2 (x86_64) y Alpine Linux (x86_64, Armv7l o AArch64).

importante

El 30 de junio de 2022, AWS IoT Greengrass finalizó el mantenimiento de las imágenes de Docker del software AWS IoT Greengrass Core v1.x publicadas en Amazon Elastic Container Registry (Amazon ECR) y Docker Hub. Puede seguir descargando estas imágenes de Docker desde Amazon ECR y Docker Hub hasta el 30 de junio de 2023, es decir, un año después de que finalice el mantenimiento. Sin embargo, las imágenes de Docker de la versión 1.x del software AWS IoT Greengrass Core ya no reciben parches de seguridad ni correcciones de errores una vez finalizado el mantenimiento el 30 de junio de 2022. Si ejecuta una carga de trabajo de producción que depende de estas imágenes de Docker, le recomendamos que cree sus propias imágenes de Docker con los archivos Docker que AWS IoT Greengrass proporciona. Para obtener más información, consulte Software de Docker para AWS IoT Greengrass.

En este tema se describe cómo descargar la imagen de Docker AWS IoT Greengrass desde Amazon ECR y ejecutarla en plataformas Windows, macOS y Linux (x86_64). El tema contiene los siguientes pasos:

Las siguientes características no se admiten cuando se ejecuta AWS IoT Greengrass en un contenedor Docker:

  • Conectores que se ejecutan en el modo Contenedor de Greengrass. Para ejecutar un conector en un contenedor de Docker, el conector debe ejecutarse en modo Sin contenedor. Para buscar conectores compatibles con el modo Sin contenedor, consulte conectores de Greengrass proporcionados por AWS. Algunos de estos conectores tienen un parámetro de modo de aislamiento que debe establecer en Sin contenedor.

  • Dispositivos locales y recursos de volumen. Las funciones de Lambda definidas por el usuario que se ejecutan en el contenedor de Docker deben obtener acceso directamente a los dispositivos y volúmenes del dispositivo principal.

Estas características no son compatibles cuando el entorno de tiempo de ejecución de Lambda para el grupo de Greengrass se establece en Sin contenedor, que es necesario para ejecutar AWS IoT Greengrass en un contenedor de Docker.

Requisitos previos

Antes de empezar este tutorial, debe hacer lo siguiente.

  • Debe instalar el software y las versiones siguientes en su ordenador host en función de la versión de la AWS Command Line Interface (AWS CLI) que elija.

    AWS CLI version 2
    • Docker, versión 18.09 o superior. Es posible que las versiones anteriores también funcionen, pero recomendamos la 18.09 o una versión posterior.

    • AWS CLI versión 2.0.0 o posterior.

      nota

      Para actualizar a una versión 2 de AWS CLI posterior en un equipo con Windows, debe repetir el proceso de instalación de MSI.

    AWS CLI version 1
    • Docker, versión 18.09 o superior. Es posible que las versiones anteriores también funcionen, pero recomendamos la 18.09 o una versión posterior.

    • Python, versión 3.6 o superior.

    • pip, versión 18.1 o posterior.

    • AWS CLI versión 1.17.10 o posterior

      nota

      Si utiliza la instalación de MSI de la versión 1 de AWS CLI en Windows, tenga en cuenta lo siguiente:

      • Si la instalación de la versión 1 de AWS CLI no consigue instalar botocore, intente utilizar la instalación de Python y pip.

      • Para actualizar a una versión 1 posterior de la AWS CLI, deberá repetir el proceso de instalación del MSI.

  • Para acceder a los recursos de Amazon Elastic Container Registry (Amazon ECR), debe conceder el siguiente permiso.

    • Amazon ECR requiere que los usuarios tengan permiso ecr:GetAuthorizationToken para realizar llamadas a la API de AWS Identity and Access Management a través de una política de IAM antes de que puedan autenticarse en un registro, así como insertar o extraer imágenes de cualquier repositorio de Amazon ECR. Para obtener más información, consulte los ejemplos de políticas de repositorios de Amazon ECR y el Acceso a un repositorio de Amazon ECR en la Guía del usuario de Amazon Elastic Container Registry.

Paso 1: Obtener la imagen del contenedor AWS IoT Greengrass de Amazon ECR

AWS proporciona imágenes de Docker que tienen instalado el software AWS IoT Greengrass Core.

aviso

A partir de la versión 1.11.6 del software AWS IoT Greengrass Core, las imágenes de Docker de Greengrass ya no incluyen Python 2.7 porque Python 2.7 llegó al final de su vida útil en 2020 y ya no recibe actualizaciones de seguridad. Si decide actualizar a estas imágenes de Docker, le recomendamos que compruebe que sus aplicaciones funcionan con las nuevas imágenes de Docker antes de implementar las actualizaciones en los dispositivos de producción. Si necesita Python 2.7 para su aplicación que usa una imagen de Docker de Greengrass, puede modificar el Dockerfile de Greengrass para incluir Python 2.7 en su aplicación.

Para ver los pasos que muestran cómo extraer la imagen de latest de Amazon ECR, elija su sistema operativo:

Ejecute los siguientes comandos en el terminal del equipo.

  1. Inicie sesión en su registro AWS IoT Greengrass en 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

    Si la acción se realiza correctamente, se muestra el texto Login Succeeded (Inicio de sesión correcto).

  2. Recupere la imagen del contenedor de AWS IoT Greengrass.

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

    La imagen latest contiene la última versión estable del software AWS IoT Greengrass Core instalada en una imagen base de Amazon Linux 2. También puede extraer otras imágenes del repositorio. Para encontrar todas las imágenes disponibles, consulte la página Tags (Etiquetas) en Docker Hub o utilice el comando aws ecr list-images. Por ejemplo:

    aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
  3. Habilite la protección de enlaces permanentes y simbólicos. Si está experimentando con la ejecución de AWS IoT Greengrass en un contenedor, puede habilitar la configuración solo del inicio actual.

    nota

    Es posible que tenga que utilizar sudo para ejecutar estos comandos.

    • Para habilitar la configuración solo para el inicio actual:

      echo 1 > /proc/sys/fs/protected_hardlinks echo 1 > /proc/sys/fs/protected_symlinks
    • Para habilitar la configuración para conservarla tras los reinicios:

      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 el reenvío de red IPv4, que es necesario para la implementación en la nube de AWS IoT Greengrass y para que las comunicaciones MQTT funcionen en Linux. En el archivo /etc/sysctl.conf, defina net.ipv4.ip_forward en 1 y, a continuación, vuelva a cargar sysctls.

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

    Puede utilizar el editor de su elección en lugar de nano.

Ejecute los siguientes comandos en el terminal del equipo.

  1. Inicie sesión en su registro AWS IoT Greengrass en 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

    Si la acción se realiza correctamente, se muestra el texto Login Succeeded (Inicio de sesión correcto).

  2. Recupere la imagen del contenedor de AWS IoT Greengrass.

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

    La imagen latest contiene la última versión estable del software AWS IoT Greengrass Core instalada en una imagen base de Amazon Linux 2. También puede extraer otras imágenes del repositorio. Para encontrar todas las imágenes disponibles, consulte la página Tags (Etiquetas) en Docker Hub o utilice el comando aws ecr list-images. Por ejemplo:

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

En el símbolo del sistema, ejecute los siguientes comandos. Para poder utilizar comandos de Docker en Windows, se debe estar ejecutando Docker Desktop.

  1. Inicie sesión en su registro AWS IoT Greengrass en 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

    Si la acción se realiza correctamente, se muestra el texto Login Succeeded (Inicio de sesión correcto).

  2. Recupere la imagen del contenedor de AWS IoT Greengrass.

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

    La imagen latest contiene la última versión estable del software AWS IoT Greengrass Core instalada en una imagen base de Amazon Linux 2. También puede extraer otras imágenes del repositorio. Para encontrar todas las imágenes disponibles, consulte la página Tags (Etiquetas) en Docker Hub o utilice el comando aws ecr list-images. Por ejemplo:

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

Paso 2: Crear y configurar el grupo y el núcleo de Greengrass

La imagen de Docker tiene el software de AWS IoT Greengrass Core instalado, pero debe crear un grupo y núcleo de Greengrass. Esto incluye la descarga de certificados y el archivo de configuración del núcleo.

Paso 3: Ejecutar AWS IoT Greengrass localmente

Una vez configurado su grupo, ya está listo para configurar e iniciar el núcleo. Para ver los pasos que muestran cómo hacerlo, elija su sistema operativo:

Ejecute los siguientes comandos en el terminal del equipo.

  1. Cree una carpeta para los recursos de seguridad del dispositivo y mueva el certificado y las claves a esa carpeta. Ejecute los siguientes comandos. Sustituya la ruta a los archivos de seguridad por la ruta a los recursos de seguridad y sustituya CertificateID por el ID del certificado en los nombres de los archivos.

    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. Cree una carpeta para la configuración del dispositivo y mueva el archivo de configuración AWS IoT Greengrass principal a esa carpeta. Ejecute los siguientes comandos. Reemplace path-to-config-file por la ruta al archivo de configuración.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Inicie AWS IoT Greengrass y realice un montaje vinculado de los certificados y el archivo de configuración en el contenedor de Docker.

    Reemplace /tmp por la ruta donde descomprimió los certificados y el archivo de configuración.

    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

    El resultado debe tener el aspecto del siguiente ejemplo:

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

Ejecute los siguientes comandos en el terminal del equipo.

  1. Cree una carpeta para los recursos de seguridad del dispositivo y mueva el certificado y las claves a esa carpeta. Ejecute los siguientes comandos. Sustituya la ruta a los archivos de seguridad por la ruta a los recursos de seguridad y sustituya CertificateID por el ID del certificado en los nombres de los archivos.

    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. Cree una carpeta para la configuración del dispositivo y mueva el archivo de configuración AWS IoT Greengrass principal a esa carpeta. Ejecute los siguientes comandos. Reemplace path-to-config-file por la ruta al archivo de configuración.

    mkdir /tmp/config mv path-to-config-file/config.json /tmp/config
  3. Inicie AWS IoT Greengrass y realice un montaje vinculado de los certificados y el archivo de configuración en el contenedor de Docker.

    Reemplace /tmp por la ruta donde descomprimió los certificados y el archivo de configuración.

    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

    El resultado debe tener el aspecto del siguiente ejemplo:

    Setting up greengrass daemon Validating hardlink/softlink protection Waiting for up to 30s for Daemon to start Greengrass successfully started with PID: 10
  1. Cree una carpeta para los recursos de seguridad del dispositivo y mueva el certificado y las claves a esa carpeta. En el símbolo del sistema, ejecute los siguientes comandos. Sustituya la ruta a los archivos de seguridad por la ruta a los recursos de seguridad y sustituya CertificateID por el ID del certificado en los nombres de los archivos.

    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. Cree una carpeta para la configuración del dispositivo y mueva el archivo de configuración AWS IoT Greengrass principal a esa carpeta. En el símbolo del sistema, ejecute los siguientes comandos. Reemplace path-to-config-file por la ruta al archivo de configuración.

    mkdir C:\Users\%USERNAME%\Downloads\config move path-to-config-file\config.json C:\Users\%USERNAME%\Downloads\config
  3. Inicie AWS IoT Greengrass y realice un montaje vinculado de los certificados y el archivo de configuración en el contenedor de Docker. En el símbolo del sistema, ejecute los siguientes comandos.

    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

    Cuando Docker le pida que comparta su unidad C:\ con el daemon de Docker, permita que realice un montaje vinculado del directorio C:\ dentro del contenedor de Docker. Para obtener más información, consulte Unidades compartidas en la documentación de Docker.

    El resultado debe tener el aspecto del siguiente ejemplo:

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

Si el contenedor no abre el intérprete de comandos y sale de inmediato, este problema se puede depurar realizando un montaje vinculado en los registros del tiempo de ejecución de Greengrass al iniciar la imagen. Para obtener más información, consulte Para conservar los registros del tiempo de ejecución de Greengrass fuera del contenedor Docker.

Paso 4: Configurar la creación de contenedores "Sin contenedor" para el grupo de Greengrass

Cuando se ejecuta AWS IoT Greengrass en un contenedor de Docker, todas las funciones de Lambda deben ejecutarse sin creación de contenedores. En este paso, se establece la creación de contenedores predeterminada para el grupo en No container (Sin contenedor). Debe hacerlo antes de implementar el grupo por primera vez.

  1. En el panel de navegación de la consola de AWS IoT, en Administrar, expanda los Dispositivos de Greengrass y, a continuación, elija Grupos (V1).

  2. Elija el grupo cuya configuración desea cambiar.

  3. Elija la pestaña de Funciones de Lambda.

  4. En Entorno de tiempo de ejecución de funciones de Lambda predeterminado, elija Editar.

  5. En el entorno de tiempo de ejecución Editar función de Lambda por defecto, en Creación de contenedores de la función de Lambda por defecto, cambie la configuración de la organización de contenedores.

  6. Seleccione Guardar.

Los cambios surten efecto cuando el grupo se implementa.

Para obtener más información, consulte Configuración de la creación de contenedores predeterminada para funciones de Lambda de un grupo.

nota

De forma predeterminada, las funciones de Lambda utilizan la configuración de grupo para creación de contenedores. Si anula la configuración Sin contenedor de cualquier función de Lambda cuando se está ejecutando AWS IoT Greengrass en un contenedor de Docker, la implementación devuelve un error.

Paso 5: Implementación de funciones de Lambda en el contenedor de Docker de AWS IoT Greengrass

Puede implementar funciones de Lambda de larga duración en el contenedor de Docker de Greengrass.

Paso 6: (Opcional) Implementar los dispositivos de cliente que interactúan con Greengrass en el contenedor de Docker

También puede implementar dispositivos cliente que interactúan con AWS IoT Greengrass cuando se ejecuta en un contenedor de Docker.

Parar el contenedor Docker de AWS IoT Greengrass

Para parar el contenedor de Docker de AWS IoT Greengrass, pulse Ctrl+C en su terminal o en la línea de comandos. Esa acción envía SIGTERM al proceso de daemon de Greengrass para eliminar el proceso de daemon de Greengrass y todos los procesos de Lambda que inició el proceso del daemon. El contenedor de Docker se inicializa con proceso /dev/init como PID 1, lo que ayuda a eliminar los procesos zombis restantes. Para obtener más información, consulte Docker run reference.

Solución de problemas de AWS IoT Greengrass en un contenedor Docker

Utilice la siguiente información para ayudar a solucionar problemas con la ejecución de AWS IoT Greengrass en un contenedor de Docker.

Error: Cannot perform an interactive login from a non TTY device.

Solución: Este error puede producirse al ejecutar el comando aws ecr get-login-password. Asegúrese de haber instalado la última versión 2 o la versión 1 de AWS CLI. Le recomendamos que utilice la última versión 2 de AWS CLI. Para obtener más información, consulte Installing the AWS CLI en la Guía del usuario de AWS Command Line Interface.

Error: Unknown options: -no-include-email

Solución: Este error puede producirse al ejecutar el comando aws ecr get-login. Asegúrese de que tiene la última versión de la AWS CLI instalada (por ejemplo, ejecute: pip install awscli --upgrade --user). Si utiliza Windows e instaló la interfaz de línea de comandos (CLI) mediante el instalador MSI, debe repetir el proceso de instalación. Para obtener más información, consulte Instalación de la AWS Command Line Interface en Microsoft Windows en la Guía del usuario de AWS Command Line Interface.

Advertencia: IPv4 is disabled. Networking will not work.

Solución: Puede que reciba esta advertencia o un mensaje similar al ejecutar AWS IoT Greengrass en un equipo Linux. Habilite el enrutamiento de red IPv4 tal y como se describe en este paso. La implementación en la nube de AWS IoT Greengrass y las comunicaciones MQTT no funcionan cuando el reenvío de IPv4 no está habilitado. Para obtener más información, consulte Configure namespaced kernel parameters (sysctls) at runtime en la documentación de Docker.

Error: A firewall is blocking file Sharing between windows and the containers.

Solución: 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 su configuración de red impide el montaje de la unidad compartida. En esta situación, desactive la VPN y vuelva a ejecutar el contenedor Docker.

Error: An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::<account-id>:user/<user-name> is not authorized to perform: ecr:GetAuthorizationToken on resource: *

Puede recibir este error al ejecutar el comando aws ecr get-login-password si no tiene los permisos suficientes para acceder a un repositorio de Amazon ECR. Para obtener más información, consulte los Ejemplos de políticas de repositorios de Amazon ECR y el Acceso a un repositorio de Amazon ECR en la Guía del usuario de Amazon ECR.

Para obtener ayuda general de solución de problemas de AWS IoT Greengrass, consulte Solución de problemas de AWS IoT Greengrass.

Depuración de AWS IoT Greengrass en un contenedor 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.

Para conservar los registros del tiempo de ejecución de Greengrass fuera del contenedor Docker

Puede ejecutar el contenedor de Docker de AWS IoT Greengrass después de realizar un montaje vinculado del directorio /greengrass/ggc/var/log. Los registros se mantendrán incluso después de que el contenedor se cierre o se elimine.

En Linux o macOS

Detenga todos los contenedores Docker de Greengrass que se ejecuten en el host y, a continuación, ejecute el siguiente comando en un terminal. Esto realizará un montaje vinculado en el directorio log de Greengrass e iniciará la imagen de Docker.

Reemplace /tmp por la ruta donde descomprimió los certificados y el archivo de configuración.

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

A continuación, puede consultar los registros en el directorio /tmp/log del host para ver qué sucedió mientras Greengrass estaba en ejecución en el contenedor de Docker.

En Windows

Detenga todos los contenedores Docker de Greengrass que se ejecuten en el host y, a continuación, ejecute el siguiente comando en un símbolo del sistema. Esto realizará un montaje vinculado en el directorio log de Greengrass e iniciará la imagen de 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

A continuación, puede consultar los registros en el directorio C:/Users/%USERNAME%/Downloads/log del host para ver qué sucedió mientras Greengrass estaba en ejecución en el contenedor de Docker.

Para asociar un intérprete de comandos interactivo a un contenedor de Docker

Puede asociar un intérprete de comandos interactivo a un contenedor de Docker de AWS IoT Greengrass que esté en ejecución. Esto le ayudará a investigar el estado del contenedor de Docker de Greengrass.

En Linux o macOS

Mientras se ejecuta el contenedor Docker de Greengrass, ejecute el siguiente comando en un terminal distinto.

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

Mientras se ejecuta el contenedor Docker de Greengrass, ejecute los siguientes comandos en un símbolo del sistema distinto.

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

Sustituya gg-container-id por el resultado container_id del comando anterior.

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